Efficient Synthesis and Analysis of OFDM and MIMO-OFDM Signals

ABSTRACT

A Multiple Input Multiple Output (MIMO) system in a radio access network (RAN) comprises a virtualized baseband unit, an antenna array; and a fronthaul network that connects the virtualized baseband unit to the antenna array. For a first set of antennas in the antenna array, the virtualized baseband unit generates a first MIMO matrix from channel state information (CSI); computes a sparse update matrix corresponding to an update to the first set of antennas; sums the sparse update matrix with the first MIMO matrix to produce a second MIMO matrix corresponding to a second set of antennas in the antenna array; determines which of the MIMO matrices results in a better CSI, MIMO condition number, peak-to-average-power ratio, or quality metric of spatial subchannels; and based on the determination, selects the first set of antennas or the second set of antennas to transmit or receive signals in the RAN.

CROSS REFERENCE TO PRIOR APPLICATIONS

This application is a Continuation of U.S. patent application Ser. No. 17/517,461, filed Nov. 2, 2021, now U.S. Pat. No. 11,570,029; which is a Continuation of U.S. Pat. Appl. Ser. No. 17/234,519, filed Apr. 19, 2021, now U.S. Pat. No. 11,196,603; which is a Continuation of U.S. patent application Ser. No. 16/932,753, now U.S. Pat. No. 10,985,961; which is a Continuation of U.S. patent application Ser. No. 16/709,093, filed Dec. 10, 2019, now U.S. Pat. No. 10,728,074; which is a Continuation of U.S. patent application Ser. No. 16/364,734, filed Mar. 26, 2019, now U.S. Pat. No. 10,505,774; which is a Continuation of U.S. patent application Ser. No. 16/021,001, filed Jun. 27, 2018, now U.S. Pat. No. 10,243,773; which claims priority to Provisional Appl. No. 62/527,603, filed Jun. 30, 2017; and Provisional Appl. No. 62/536,955, filed Jul. 25, 2017; all of which are hereby incorporated by reference in their entireties and all of which this application claims priority under at least 35 U.S.C. 120 and/or any other applicable provision in Title 35 of the United States Code.

BACKGROUND I. Field

The present invention relates generally to wireless communication networks, and more specifically to precoding multicarrier waveforms.

II. Background

The background description includes information that may be useful in understanding the present inventive subject matter. It is not an admission that any of the information provided herein is prior art or relevant to the presently claimed inventive subject matter, or that any publication, specifically or implicitly referenced, is prior art.

In multi-user communications, orthogonal frequency division multiple access (OFDMA) offers flexible resource allocation (subcarrier allocations to users) and scheduling. Dynamic allocation can further improve performance compared to fixed allocation. For these reasons, OFDMA has been adopted as the downlink in LTE.

However, OFDMA suffers from high peak-to-average power ratio (PAPR) because the modulated subcarriers for different users combine randomly to produce a signal with highly variable amplitude. This requires RF power amplifiers (PAs) to operate with large back-offs (i.e., transmitter PAs are made to operate at low efficiency operating points to ensure linearity).

The high PAPR problem is further complicated by multiple-input, multiple-output (MIMO) precoding. It is well known that PAPR performance of multi-layer precoded MIMO-OFDM is worse than Single Input, Single Output (SISO) OFDM and MIMO-OFDM without precoding. This is because, in addition to the transmitted OFDM signal comprising a superposition of the modulated subcarrier frequencies, each transmitted subcarrier signal comprises a superposition signal due to spatial processing.

The poor power efficiency and increased cost of radio components is deemed acceptable in sparse deployments of large base stations. However, in dense LTE deployments, base stations are more power constrained, as dense deployments demand radio terminals that are significantly less expensive and operate at lower power. As LTE adopts fixed and mobile relays, the network infrastructure will rely more on autonomously powered (e.g., solar-powered) and battery-powered devices for downlink support. This will further drive the need for improvements in power-efficient downlink signaling.

Similarly, user devices can be tasked with relaying WWAN radio transmissions. It is also anticipated that user devices will cooperate to transmit MIMO-OFDM signals in the uplink. For at least these reasons, improvements to PAPR-reduction in both the uplink and downlink signaling are needed. Peer-to-peer communications between user devices and communications between clusters of user devices are also envisioned. Thus, the aforementioned improvements are needed in a wide variety of network configurations.

It is especially important to improve PAPR performance in precoded MIMO-OFDM without degrading other system performance metrics, such as Bit Error Rate (BER) and bandwidth efficiency. Furthermore, there is a need for improvements to MIMO-OFDM processing that reduce PAPR without adding significantly to latency and computational overhead.

SUMMARY

In accordance with some aspects of the disclosure, the aforementioned needs are solved. Aspects disclosed herein can be configured for downlink, uplink, relay links, peer-to-peer links, as well as other links, and such aspects are not constrained to any particular communication network topologies. Aspects disclosed herein are broadly applicable to wireless communications, including (but not limited to) cellular, mobile broadband, fixed broadband, Internet of Things (IoT), peer-to-peer networks, mesh networks, wireless personal area networks (WPANs), wireless local area networks (WLANs), wireless sensor networks, airborne networks, satellite networks, network fabrics, software-defined networks (SDNs), and hybrid networks.

An exemplary aspect of the disclosure provides for selecting a plurality M_(T) of transmitting terminals (such as may be used for uplink and/or downlink communications) in a radio access network, comprising selecting a subset of the transmitting terminals to comprise one or more (M_(T)−m_(T)) of the terminals configurable to permit transmission of high-PAPR signals (i.e., non-PAPR-sensitive terminals) while one or more (m_(T)<M_(T)) terminals have a low-PAPR constraint (i.e., referred to as PAPR-sensitive terminals), thereby providing for additional degrees of freedom in a PAPR-reduction calculation that enables generation of transmission signals with a reduced PAPR to be transmitted by the M_(T) PAPR-sensitive terminal(s).

In some aspects, non-PAPR-sensitive terminals are line powered, whereas PAPR-sensitive terminals are battery powered. However, aspects may differentiate between non-PAPR-sensitive terminals and PAPR-sensitive terminals based on one or more other criteria based on features and/or operating conditions pertaining to each terminal, such as (but not limited to) power amplifier linearity, battery life, channel conditions, modulation symbol constellation, and/or transmit power. In some aspects, this differentiation may be updated as operating conditions for the terminals change, when terminals join or leave a distributed antenna system, or when a scheduling algorithm is employed, such as for distributing power loads across the terminals.

Exemplary PAPR-reduction methods include pre-coding, selective mapping, and PAPR-reduction symbol injection. However, aspects disclosed herein are not limited to the aforementioned PAPR-reduction methods, and may comprise alternative PAPR-reduction methods. Pre-coding may be performed by a precoder, such as a spatial-multiplexing (e.g., MIMO) precoder, a spread-OFDM precoder (such as a spreader, which may comprise a DFT-based spreader), a phase-offset precoder (which may be configured to phase-offset subsets of OFDM subcarriers and/or spatial subchannels), and/or a modulator (such as a modulator that adjusts a modulation symbol constellation). Depending on the type of pre-coding performed, alternative devices may be employed. Selective mapping, by way of example, may be performed by a modulator configured with a mapper function that maps data streams to input bins of a fast Fourier transform (FFT), a MIMO processor configured to perform layer selection that maps data streams to antennas and/or MIMO subspaces (such as MIMO eigenvectors, eigendirections, or eigenspaces), and/or other devices configured to perform selective mapping. Data-symbol injection may, by way of example, employ a modulator and/or a mapper configured to inject each PAPR-reduction symbol into a resource block, a layer (which may include a MIMO subspace), or a combination thereof.

Prior to implementing the aforementioned PAPR-reduction methods, PAPR-reduction calculations are performed to select pre-coding, mapping, and/or PAPR-reduction symbols that will achieve a desired reduction in PAPR of the transmitted signals, typically within one or more computing constraints, such as processing complexity and latency. Aspects disclosed herein can achieve a desired PAPR-reduction with better performance (such as measured by the number of processing operations, processing time, memory use, and/or at least one other performance metric). Aspects disclosed herein can achieve better PAPR-performance for a given set of computing resources and/or computing constraints.

At least one of the M_(T) transmitting terminals may communicatively connect via a backhaul network to centralized or remote computing resources configured to perform at least some PAPR-reduction calculations, such as corresponding to any of the PAPR-reduction methods disclosed herein. In some aspects, a line-powered one of the transmitting terminals is selected to operate as a network hub and perform the PAPR-reduction calculations, in which case the backhaul may be implemented via a local area network. A hub, the computing resources, or at least one transmitting terminal may measure latency in the backhaul link, compare the latency (which may include latency due to the communication with, and processing by, the computing resources) to a latency threshold value, and if the measured latency is below the latency threshold value, provision the computing resources to perform the calculations. Operation of the computing resources may be configured (such as by the transmitting terminal or the hub, for example) based on the measured latency so that processing time plus the measured latency does not exceed a predetermined amount. In an exemplary aspect, the remote computing resources employ a partial update method with sparse matrices to perform the PAPR-reduction calculations.

In one aspect, a hub or a data center Cloud comprising the computing resources can comprise a precoder configured to calculate precoding weights. The precoder may provision at least one designated subspace channel for transmitting at least one PAPR-reduction symbol (e.g., a PAPR-reduction channel), and a PAPR-reduction symbol generator may be embodied in the precoder. The PAPR-reduction symbol generator may calculate one or more PAPR-reduction symbols in each symbol interval to be transmitted in the at least one designated subspace channel concurrently with at least one other subspace channel used for communicating user data, control data, management data, and/or reference symbols. The one or more PAPR-reduction symbols are calculated to reduce PAPR of transmit signals at one or more of the M_(T) terminals while permitting high PAPR at one or more non-PAPR-sensitive terminals. By lessening the PAPR constraints on one or more non-PAPR-sensitive terminals, additional versatility in the selection of precoding weights is afforded to achieve reduced PAPR at the other terminals. A partial-update method that employs sparse matrices can update the precoding weights.

In some aspects of the disclosure, a precoder has three effects: decoupling the input signal into orthogonal spatial modes, such as in the form of eigen-beams, allocating power over these beams, such as based on the channel state information (CSI), and introducing symbols into one or more subspace channels to reduce the PAPR at one or more transmit antennas. If the precoded orthogonal spatial-beams match the channel eigen-directions (the eigenvectors of H*H, where H denotes the channel matrix), there will be no interference among signals sent on different modes, thus creating parallel channels and allowing transmission of independent signal streams. This allows the insertion of PAPR-reduction symbols in one of the modes, for example, without destroying orthogonality between the modes. In aspects in which the PAPR-reduction symbols in OFDM are not spread in the frequency domain, introducing a PAPR-reduction symbol into a space-frequency channel, for example, preserves both orthogonality in the frequency domain and orthogonality between the spatial modes. However, introduction of a symbol into a space-frequency channel impacts the PAPR differently at each transmit antenna due to differences in the precoding weight values of the selected subspace at each of the transmit antennas. There can be up to M_(t) orthogonal subspaces corresponding to each OFDM subcarrier frequency (where M_(t) is the number of transmitting antennas), and those subspaces can vary greatly for different OFDM subcarrier frequencies, thus providing a large number of degrees of freedom for finding an advantageous combination of space-frequency channel(s) and PAPR-reduction symbol(s) that achieves PAPR-reduction criteria. This can be achieved via multi-objective optimization, for example. In some aspects, antennas that are not highly sensitive to high PAPR are included in a transmit antenna set to reduce the constraints or increase the number of degrees of freedom in the corresponding multi-objective problem. Additional degrees of freedom can be realized by employing antenna selection, wherein the set of M_(t) antennas is selected from a larger set of candidate antennas. A partial-update method that employs sparse matrices can be used to update the weights in such aspects.

Aspects of the disclosure can be configured to operate with spread data symbols and in systems that employ spreading codes.

Some aspects disclosed herein assume full channel knowledge at the transmitter. With partial CSI, the precoder can approximately match its eigen-beams to the channel eigen-directions to reduce interference among signals sent on these beams. This is the decoupling effect. Moreover, the precoder allocates power on the beams. By allocating power, the precoder may produce a radiation shape to match to the channel based on the CSI such that higher power is sent in directions where the channel is strong, whereas reduced or no power is transmitted where the channel is weak. In one aspect, PAPR-reduction symbols are sent on weak channels. In another aspect, strong channels are selected for carrying PAPR-reduction symbols. In some aspects, channel selection for PAPR-reduction symbols is determined dynamically, possibly for each symbol duration.

Aspects disclosed herein can provide for adding more transmit antennas, such as to increase the ability to finely shape the radiation patterns and provide more precoding gain. Additional benefits can include increasing the number of degrees of freedom in the multi-objective optimization for achieving PAPR-reduction. In some aspects, the number of selected transmit antennas remains constant while the pool of antennas from which the transmit antennas are selected is large. This can increase the number of degrees of freedom without the increased processing complexity for calculating larger precoding matrices. Selection of the transmit antennas may be performed via multi-objective optimization and employ partial-updates using sparse matrices, such as to increase speed and reduce computations for PAPR calculations.

Aspects of the disclosure provide for apparatus and method embodiments with reduced complexity for reducing PAPR in OFDM and MIMO-OFDM signals. A selective mapping weight matrix can be employed for any combination of PAPR-reduction techniques, including phase rotation, amplitude scaling, dummy symbol insertion (into OFDM resource blocks and/or layers), and symbol mapping to resource blocks and/or layers. In one aspect, a base discrete-time MIMO-OFDM signal is generated from a set of data symbols and MIMO precoding weights. A sparse update weight matrix is generated (or selected from a codebook) and used to multiply the set of data symbols to produce an update signal. The update signal is precoded with the MIMO precoding weights to produce a precoded update signal. An inverse discrete Fourier transform (IDFT) transforms the precoded update signal into a discrete-time update signal, which is with a previously generated base discrete-time MIMO-OFDM signal to produce an updated discrete-time MIMO-OFDM signal.

Aspects disclosed herein can be implemented as apparatus configurations comprising structural features that perform the functions, algorithms, and methods described herein. Flow charts and descriptions disclosed herein can embody instructions, such as in software residing on a non-transitory computer-readable medium, configured to operate a processor (or multiple processors). Flow charts and functional descriptions, including apparatus diagrams, can embody methods for operating a communication network(s), coordinating operations which support communications in a network(s), operating network components (such as client devices, server-side devices, relays, and/or supporting devices), and assembling components of an apparatus configured to perform the functions disclosed herein.

Groupings of alternative elements or aspect of the disclosed subject matter disclosed herein are not to be construed as limitations. Each group member can be referred to and claimed individually or in any combination with other members of the group or other elements found herein. One or more members of a group can be included in, or deleted from, a group for reasons of convenience and/or patentability. When any such inclusion or deletion occurs, the specification is herein deemed to contain the group as modified, thus fulfilling the written description of all Markush groups used in the appended claims.

All methods described herein can be performed in any suitable order unless otherwise indicated herein or otherwise clearly contradicted by context. The use of any and all examples, or exemplary language (e.g., “such as”) provided with respect to certain embodiments herein is intended merely to better illuminate the inventive subject matter and does not pose a limitation on the scope of the inventive subject matter otherwise claimed. No language in the specification should be construed as indicating any non-claimed element as essential to the practice of the inventive subject matter.

Additional features and advantages of the invention will be set forth in the description which follows, and in part will be obvious from the description, or may be learned by practice of the invention. The features and advantages of the invention may be realized and obtained by means of the instruments and combinations particularly pointed out in the appended claims. These and other features of the invention will become more fully apparent from the following description and appended claims, or may be learned by the practice of the invention as set forth herein.

The following patent applications and patents are hereby incorporated by reference in their entireties:

-   U.S. Pat. No. 8,670,390, -   U.S. Pat. No. 9,225,471, -   U.S. Pat. No. 9,270,421, -   U.S. Pat. No. 9,325,805, -   U.S. Pat. No. 9,473,226, -   U.S. Pat. No. 8,929,550, -   U.S. Pat. No. 7,430,257, -   U.S. Pat. No. 6,331,837, -   U.S. Pat. No. 7,076,168, -   U.S. Pat. No. 7,965,761, -   U.S. Pat. No. 8,098,751, -   U.S. Pat. No. 7,787,514, -   U.S. Pat. No. 9,673,920, -   U.S. Pat. No. 9,628,231, -   U.S. Pat. No. 9,485,063, -   patent application Ser. No. 10/145,854, -   patent application Ser. No. 14/789,949, -   Pat. Appl. No. 62/197,336, -   patent application Ser. No. 14/967,633, -   Pat. Appl. No. 60/286,850, -   patent application Ser. No. 14/709,936, -   patent application Ser. No. 14/733,013, -   patent application Ser. No. 14/789,949, -   patent application Ser. No. 13/116,984, -   patent application Ser. No. 15/218,609, -   patent application Ser. No. 15/347,415, -   Pat. Appl. No. 62/510,987, -   Pat. Appl. No. 62/527,603, -   J. S. Chow, J. M. Cioffi, J. A. C. Bingham; “Equalizer Training     Algorithms for Multicarrier Modulation Systems,”     Communications, 1993. ICC '93 Geneva. Technical Program, Conference     Record, IEEE International Conference on; Vol: 2, 23-26 May 1993,     pp. 761-765; -   Vrcelj et al. “Pre-and post-processing for optimal noise reduction     in cyclic prefix based channel equalizers.” Communications, 2002.     ICC 2002. IEEE International Conference on. Vol. 1. IEEE, 2002; -   LTE: Evolved Universal Terrestrial Radio Access (E-UTRA); Physical     channels and modulation (3GPP TS 36.211 version 8.7.0 Release 8),     June 2009; and -   LTE: Evolved Universal Terrestrial Radio Access (E-UTRA);     Multiplexing and channel coding (3GPP TS 36.212 version 8.8.0     Release 8), January 2010.

All of the references disclosed herein all are incorporated by reference in their entireties.

BRIEF DESCRIPTION OF DRAWINGS

Flow charts depicting disclosed methods comprise “processing blocks” or “steps” may represent computer software instructions or groups of instructions. Alternatively, the processing blocks or steps may represent steps performed by functionally equivalent circuits, such as a digital signal processor or an application specific integrated circuit (ASIC). The flow diagrams do not depict the syntax of any particular programming language. Rather, the flow diagrams illustrate the functional information one of ordinary skill in the art requires to fabricate circuits or to generate computer software to perform the processing required in accordance with the present disclosure. It should be noted that many routine program elements, such as initialization of loops and variables and the use of temporary variables are not shown. It will be appreciated by those of ordinary skill in the art that unless otherwise indicated herein, the particular sequence of steps described is illustrative only and can be varied. Unless otherwise stated, the steps described below are unordered, meaning that the steps can be performed in any convenient or desirable order.

FIG. 1A is a block diagram of a radio terminal in which exemplary aspects of the disclosure can be implemented. Aspects of the disclosure are not limited to the depicted terminal design, as such aspects can be implemented in alternative devices, configurations, and applications.

FIG. 1B is a block diagram depicting a processor architecture that can be programmed in accordance with aspects disclosed herein.

FIG. 2 depicts a radio terminal system in accordance with aspects of the disclosure.

FIG. 3 is a block diagram that depicts modules corresponding to processing functions that can be implemented by a computer processor programmed to perform methods in accordance with aspects of the disclosure.

FIGS. 4A, 4B, 5A, 5B, 6A, and 6B are flow diagrams that depict some of the aspects of the disclosure.

FIG. 7 is a block diagram that depicts a non-transient computer-readable memory comprising a set of instructions stored therein and executable by a processor to perform methods in accordance with aspects of the disclosure.

FIG. 8A is a block diagram of an SLM weight selector according to an exemplary aspect of the disclosure. This aspect employs a partial update method, such as can be realized by exploiting sparse matrix operations, in order to reduce the number of complex multiplications.

FIG. 8B is a block diagram of a baseband processing apparatus that can be implemented according to aspects of the disclosure. The depicted baseband processing apparatus can be implemented as an integrated circuit, a general-purpose processor programmed as a software-defined radio, and/or a set of discrete hardware components, for example.

FIG. 9 is a flow diagram that is representative of PAPR-reduction operations in a multi-antenna MIMO system in accordance with some aspects of the disclosure. The MIMO system can comprise any of various types of massive-MIMO, multi-user MIMO (MU-MIMO), server-side distributed antenna systems (e.g., coordinated multipoint, fixed relay, mobile relay), client-side distributed antenna systems, relay networks, mesh networks, peer-to-peer networks, and airborne networks.

FIG. 10 is a block diagram depicting method and apparatus implementations for PAPR-reduction weight selection in a MIMO-OFDM system.

FIG. 11A is a block diagram of a weight-selection module configured in accordance with method and apparatus aspects disclosed herein.

FIG. 11B is a block diagram of a central-processing node and associated functionality, wherein the central-processing node is configured to be communicatively coupled to a plurality of nodes that perform weight selection.

FIG. 12 is a flow diagram that shows a method and corresponding signaling in a distributed antenna system configured to operate in accordance with some aspects of the disclosure.

DETAILED DESCRIPTION

Various aspects of the disclosure are described below. It should be apparent that the teachings herein may be embodied in a wide variety of forms and that any specific structure, function, or both being disclosed herein are merely representative. Based on the teachings herein one skilled in the art should appreciate that an aspect disclosed herein may be implemented independently of any other aspects and that two or more of these aspects may be combined in various ways. For example, an apparatus may be implemented or a method may be practiced using any number of the aspects set forth herein. In addition, such an apparatus may be implemented or such a method may be practiced using other structure, functionality, or structure and functionality in addition to or other than one or more of the aspects set forth herein.

In the following description, for the purposes of explanation, numerous specific details are set forth in order to provide a thorough understanding of the invention. It should be understood, however, that the particular aspects shown and described herein are not intended to limit the invention to any particular form, but rather, the invention is to cover all modifications, equivalents, and alternatives falling within the scope of the invention as defined by the claims.

Aspects of the disclosure make use of the linearity property of an invertible transform operation to reduce computational complexity of an update procedure, wherein the update can employ a sparse matrix. For example, the DFT can be expressed by

[x[m]]=X(e^(iω)), and the linearity property of the DFT is:

[ax[m]+by[m]]=aX(e ^(iω))bY(e ^(iω))a

[x[m]]+b

[y[m]]  (eqn. 1)

This means that the DFT of the sum of two matrices (such as sequences x and y) equals the sum of the DFTs of each of the matrices.

In one aspect of the disclosure, an OFDM transmitter determines an OFDM signal having the lowest PAPR from a set of candidate signal waveforms generated from different combinations of data symbols. Instead of performing the DFT over all the data symbols for each combination, the transmitter calculates the DFT of an update symbol vector to produce an updated transformed symbol vector, which is then added to a previous transformed symbol vector generated in a previous iteration. The update symbol vector is provided as a sparse vector, meaning that some of the values are zero. Thus, the DFT of the update symbol vector has lower computational complexity (such as fewer complex multiplications) than performing the DFT over the entire set of data symbols.

In one aspect, a base vector, transformed symbol vector

[d₁, d₂, . . . , d_(M)], is generated for a given sequence of data symbols. To generate an updated transformed symbol vector

[d_(m), d₂, . . . , d_(M)], for example, an update symbol vector is calculated: [d_(m)−d₁, 0, . . . , 0]. The transform of the update symbol vector is generated:

[d_(m)−d₁, 0, . . . , 0], which is then added to the base vector, transformed symbol vector

[d₁, d₂, . . . , d_(M)], to produce the updated transformed symbol vector. PAPR measurement may be performed on the updated transformed symbol vector.

If the PAPR for another sequence of data symbols is to be determined, then the updated transformed symbol vector could be designated as the base vector. Alternatively, another base vector can be selected, such as a transformed symbol vector from a previous iteration. For example, the transformed symbol vector can be stored in memory, possibly with other transformed symbol vectors. The transmitter can select a base vector from the memory as part of a process for generating an updated transformed symbol vector.

In one aspect, this procedure is performed for a given set of data sequences. In other aspects, the procedure is adaptable, such as to provide for adapting the data sequences and/or adapting the number of iterations performed based on the PAPR measurements. Data sequences may comprise different permutations of a given data set, different data symbols, or differently weighted data symbols, for example. The data may comprise user data, control data, reference symbols, or some combination thereof. The data may comprise a PAPR-reduction symbol provided only for PAPR reduction. The data may comprise weighted data symbols, wherein the weights adapt a data symbol's value (such as within predetermined tolerances) via amplitude, phase, or some combination thereof.

PAPR measurements for different data sequences may be compared to determine a next candidate data sequence. The transmitter may shuffle the order of data symbols and/or adapt one or more symbol values and/or weights in response to PAPR measurements. In such iterative processes wherein a small number of symbol values in the symbol vector are changed, the aforementioned update technique significantly reduces computational complexity. It should be appreciated that this update technique can be performed for other operations that distribute across addition and is not intended to be limited to the exemplary aspects disclosed herein. The update technique may be performed with other invertible transforms, such as those disclosed in the '163 application.

In general, matrix multiplication distributes across addition:

A(B+C)=AB+AC  (eqn. 2)

(B+C)D=BD+CD  (eqn. 3)

Where A is an m×n matrix and B and C are n×p matrices and D is a p×s matrix.

By way of example, and without limitation, the product of a precoding matrix A with a data vector (represented by the sum of data vectors B and C in eqn. 2) equals the sum of precoded data vectors B and C. In one aspect, AB is the base vector (possibly generated from a previous iteration), and C is an update symbol vector with some values equal to zero, which makes it a sparse vector. Thus, the updated precoded data vector A(B+C) is produced by precoding the sparse update symbol vector C and adding the resulting product to the base vector AB. The PAPR of the updated precoded data vector is measured. This process can be repeated for subsequent data vectors. Iterations may cease when a data vector produces a precoded signal below a predetermined PAPR, and the precoded signal is transmitted. Alternatively, a predetermined number of iterations may be performed and the precoded signal with the lowest PAPR is selected for transmission. Side information may be transmitted, if necessary.

In one aspect, the precoding matrix is a spatial precoding matrix. Thus, when a zero data value is precoded, it causes a null in a subspace channel. In one exemplary aspect, B contains a zero, which produces a null in one of the subspace channels. C contains all zeros except at the index where B contains the zero, which makes the calculation of precoded C very simple (e.g., m multiplications). This allows the precoded vector to be updated for a new data symbol in one of the spatial channels without requiring the full m×n calculations to calculate an entirely new precoded data vector. This facilitates PAPR reduction in MIMO.

In a multi-user MIMO transmitter that employs OFDM, the aforementioned update technique significantly reduces processing complexity by simplifying both precoding and DFT updates. In one aspect, a symbol in a space-frequency channel can be updated by employing a sparse update symbol vector with a non-zero value corresponding to the spatial subspace channel, followed by employing a sparse update symbol vector with a non-zero value corresponding to the subband. In another aspect, subspace precoding may follow subband signal generation, thus the order of sparse update symbol vector may be configured accordingly. In some aspects, more than one space-frequency channel may be adapted.

In some aspects, selective mapping may be performed, which can be facilitated by aspects in which sparse update symbol vectors are exploited, such as disclosed herein. Selective mapping may be performed across subbands, across spatial subspaces, across orthogonal spreading codes, and/or across other orthogonal signal spaces. Aspects of the disclosure can be configured to provide for processing sparse update symbol vectors to enable any of various permutations of the data symbols. For example, sparse update symbol vectors can be adapted to provide for swapping symbols in a data symbol vector, shifting data symbols, or otherwise changing a symbol vector.

In some aspects, a spreading matrix can be employed to spread data symbols in order to reduce the PAPR of the resulting spread signal, which may comprise a spread-OFDM signal. Depending on how the multiplication of the spreading matrix with the data vector is performed, each row or column of the spreading matrix corresponds to an orthogonal code space of the spread signal. Thus, to update a spread signal, any of the update techniques disclosed herein can be performed.

In one exemplary aspect, the transmitter selects a base spread-symbol vector generated by spreading a base data-symbol vector with a spreading matrix. The base spread-symbol vector might be generated in a previous iteration of an adaptive process, for example. The transmitter generates one or more sparse update symbol vectors. Each sparse update symbol vector is spread with the spreading matrix, and the resulting spread-symbol vector is added to the base spread-symbol vector to produce an updated spread-symbol vector. PAPR measurements can be made from the updated spread-symbol vector, or a signal produced therefrom, which can comprise additional processing operations on the updated spread-symbol vector before the PAPR measurement is made. Based on the PAPR measurement, the transmitter can select a new update symbol vector and/or select one of the spread-symbol vectors for transmission.

In one aspect, upon generating a spread-symbol vector, the transmitter provides for performing a DFT operation (such as an inverse fast Fourier transform) on the spread-symbol vector to generate a spread-OFDM signal, such as a SC-FDMA signal. Spread-OFDM signals comprise a superposition of modulated OFDM subcarriers, from which PAPR can be measured.

In another aspect, the transmitter performs an update process in accordance with the following expression:

[A(B+C)]=

[AB]+

[AC]  (eqn. 4)

A spreading matrix (A) spreads a base data symbol matrix (B), and the resulting base spread-symbol matrix [AB] is processed with a DFT operation [

], such as an IFFT, to produce a base OFDM signal,

[AB]. To update the base OFDM signal, such as to produce a new candidate signal (which may be part of an iterative PAPR-reduction), a sparse update data symbol matrix (C) is generated. Matrix C may be generated based on previous PAPR measurements and previous data symbol matrices. Matrix C is spread by matrix A, and the product is processed by the DFT operation to produce an update OFDM signal, which is then added to the base OFDM signal. The base OFDM signal may be selected from a memory where it was stored during a previous iteration of the update algorithm. A PAPR measurement of the resulting updated OFDM signal (or a signal derived therefrom) is performed.

In one aspect, the PAPR measurement is compared to one or more previous PAPR measurements. A new update symbol matrix may be generated based on the current and previous PAPR measurements, and the aforementioned update process repeated until a desired PAPR is obtained or a predetermined number of iterations is performed. In some aspects, if the PAPR of the current iteration is lower than the PAPR of all previous iterations, the updated OFDM signal is stored. The stored OFDM signal may be designated as a base OFDM signal to be used in a next iteration. If the stored OFDM signal is below a predetermined threshold or if it has the lowest PAPR of a predetermined number of stored OFDM signals, then it can be transmitted into the radio access network.

By way of example, and without limitation, eqn. 3 shows that the sum of precoding matrices B and C configured to precode a data symbol matrix (e.g., a data symbol vector D) is equivalently achieved by separately precoding the data symbol vector D with B and C, and then summing the products. In some aspects, for a given data symbol vector D, a precoding matrix is developed that provides for reduced PAPR. Thus, an adaptation to a base precoding matrix B can be provided using a sparse update precoding matrix C wherein at least some of the matrix values are zero. For example, the product CD may be determined and then added to BD, which may be a base calculated in a previous iteration. The PAPR is measured, the sum may be stored, possibly to be used as a base in a subsequent iteration, and then the next update precoding matrix is generated. This process is repeated a predetermined number of times or when some criterion is met, such as a threshold PAPR measurement.

In some aspects, the base matrix comprises a plurality of eigenmodes and the update matrix comprises at least one eigenmode. The update matrix may comprise one or more of the eigenmodes of the base matrix. In some aspects, the update matrix comprises a null space of the base matrix. The update matrix might exploit the null space of the transmission channel and/or one or more eigenmodes, including eigenmodes that may not be used for transmitting user data. The update matrix may employ an orthogonal projection matrix. The update matrix can be subtracted from the base matrix to reduce the PAPR of the transmitted signal. The update matrix can be adapted via iteration in order to reduce the PAPR to a desired amount.

FIG. 1A depicts a radio terminal. Aspects of the disclosure can be implemented in a baseband processor 110 comprising at least one computer or data processor 112, at least one non-transitory computer-readable memory medium embodied as a memory 114 that stores data and a program of computer instructions 116, and at least one suitable radio frequency (RF) transmitter/receiver 102 for bidirectional wireless communications via one or more antennas 101.1-101.N_(M). Optionally, a fronthaul transceiver 120 can be provided for communicating with other devices, such as other radio terminals.

In some aspects, the radio terminal in FIG. 1A is a BTS (BTS), such as an eNodeB, an access point, or some other type of BTS. The antenna system 101.1-101.N_(M) may comprise an antenna array with N_(M) antennas. The antenna system 101.1-101.N_(M) may comprise a distributed antenna array. The transceiver 102 may comprise a distributed transceiver configuration. For example, aspects of the disclosure can be implemented with a BTS communicatively coupled to one or more remote radio heads, relay nodes, at least one other BTS or the like. Each antenna 101.1-101.N_(M) or each of a set of the antennas 101.1-101.N_(M) may comprise its own transceiver. The transceiver comprises RF circuitry for transmitting and receiving signals in a radio access network (RAN), such as a mobile radio network or the like. In some aspects, the transceiver 102 comprises at least some RAN baseband processing circuitry. In some aspects, the BTS employs the fronthaul transceiver 120 to communicate with other BTSs over a fronthaul network. Processes disclosed herein can be performed by baseband processor 110 to produce low-PAPR transmission signals to be transmitted by other radio terminals, such as BTSs, UEs, relays, remote radio heads, and/or other radio terminals. In some aspects, the baseband processor 110 resides offsite from the BTS location.

The baseband processor 110 may employ distributed computing resources and storage, such as a Cloud-based system, for example. In some aspects, the baseband processor 110 is virtualized. Virtualization is well known in the art, and the baseband processor can be implemented according to usual and customary techniques for virtualizing processing, memory, routing, and/or other networking resources, as well as according to virtualization techniques disclosed in Applicant's other patent applications or that may be developed in the future.

In some aspects, the radio terminal in FIG. 1A is a UE or some other type of user device. The UE's antenna system 101.1-101.N_(M) may employ an antenna array. In some aspects, the UE's antenna array 101.1-101.N_(M) can comprise antennas on at least one other device which is communicatively coupled to the UE via a fronthaul network by the fronthaul transceiver 120. Cooperative-MIMO techniques may be employed for cooperatively processing signals in the antenna system 101.1-101.N_(M). The UE may be communicatively coupled to other devices (e.g., other UEs, BTSs, relays, access points for other networks, external computer processing devices, or the like) via the fronthaul network. The UE may be communicatively coupled to the baseband processor 110 via the RAN. The baseband processor 110 may reside in the UE, in a BTS, in a relay node, and/or in at least one other type of device external to the UE. The baseband processor 110 may be configured to calculate PAPR-reduction signals for the UE and/or at least one other device in the RAN.

In some aspects, the radio terminal in FIG. 1A is a relay device. The relay device may employ an antenna array and/or it may be configured to perform cooperative array processing with at least one other radio terminal. As described above, the baseband processor 110 may reside on the radio terminal and/or on one or more devices communicatively coupled to the radio terminal. The baseband processor 110 may be configured to calculate PAPR-reduction signals for the radio terminal and/or at least one other device in the RAN.

FIG. 1B illustrates a processor architecture that can be employed in accordance with aspects of the disclosure. Some aspects include a processor architecture designed for generating a plurality of MIMO-OFDM signals and computing the PAPR of those signals. A controller 130 comprises communication links 141 and 142 to one or more data memories 131 and one or more instruction memories 132, respectively. The controller 130 comprises a communication link(s) 143 to one or more processors 133. The controller 130 can comprise an input/output (I/O) device (not shown). The communication links 141, 142, and 143 can comprise computer buses, such as internal buses. In some aspects, the communication links 141, 142, and 143 might comprise high-speed networks that communicatively couple together different machines, possibly across large geographical distances.

In one aspect, an application specific instruction-set processor (ASIP) architecture can be employed for the processor by preparing arithmetic instructions that are specialized in complex matrix operations. Data and instructions are stored to each memory unit(s) 131 and 132, and the processing unit(s) 133 executes instructions in order. The floating-point data format supports complex values, wherein each part of a complex value comprises a 1-bit sign, a W_(e)-bits exponent, and W_(m) bits mantissa. In the IEEE 754 standard, which may be employed herein, W_(e)=8, and W_(m)=23.

Data memories 131 and 132 and processing units 133 can be arrayed to support a number of parallel processing layers. Data transfers can comprise single-data transfer (which sends single data symbols one-by-one to the processor 133) and block transfer (which sends data blocks containing multiple entries to the processor 133).

In one exemplary aspect, the processing unit 133 comprises 9 floating-point units (FPUs) and dedicated circuits for division and square root operations. Some FPUs can be allocated for multiplication, some FPUs can be allocated for addition and subtraction, and one or more FPUs may be allocated for specific operations, such as CORDIC operations for calculating trigonometric functions. Efficient processing for complex matrix operations can be achieved by employing specialized instructions and an operation-unit structure. Employing dedicated circuits for division and square-root operations can provide effective hardware acceleration. Thus, division and square-root FPUs may be employed to reduce calculation time.

FIG. 2 depicts a radio terminal system in accordance with aspects of the disclosure. A plurality N of radio terminals 200.1-N each comprise components similar to those as numbered in FIG. 1A, but bearing the index 1-N. Channel state information (CSI) may be measured and/or CSI measurements received by each radio terminal 200.1-N and processed by CSI processing logic 118.1-N. CSI routing logic 119.1-N may optionally be provided for routing information, such as CSI, over fronthaul network 124 to baseband processor 210.

The baseband processor 210 may reside on another radio terminal device, on some other device, or on a plurality of devices. At least one computer processor 212 is programmable with instructions stored on at least one memory 214. CSI processing logic 226 is configured to generate precoding for transmission signals based on the CSI. PAPR-reduction logic is configured to reduce PAPR of the transmission signals transmitted by at least one of the radio terminals 200.1-N in accordance with aspects of the disclosure. Routing logic 246 may optionally be provided in memory 214 for routing PAPR-reduction signaling to the terminals 200.1-N. PAPR-reduction signaling may comprise transmission signals (e.g., precoded data symbols, modulated precoded data signals, data symbols and precoding weights, and the like).

FIG. 3 is a block diagram that depicts modules corresponding to processing functions that can be implemented by a computer processor programmed to perform methods in accordance with aspects of the disclosure. The blocks can be interpreted as software modules, hardware components, or some combination thereof. The modules can represent steps in a method. In some aspects, the block diagram is indicative of structure and/or function of a client device (such as a UE) or a system of client devices.

In one aspect of the disclosure, FIG. 3 depicts a set of modules, each comprising instructions stored on a non-transitory computer-readable memory and configured to instruct a general-purpose processor (such as a processor core, a server, a distributed computing system, etc.) to perform functions disclosed herein. In other aspects, one or more modules can comprise a specific-purpose processor, such as an application-specific integrated circuit or some other circuit.

A baseband modulator, which can be implemented as a software module 301, transforms a binary input to a multilevel sequence of complex numbers in one of several possible modulation formats, including binary phase shift keying (BPSK), quaternary PSK (QPSK), 16-level quadrature amplitude modulation (16-QAM) and 64-QAM. The modulator 301 can adapt the modulation format, and thereby the transmission bit rate, to match current channel conditions of the transceiver. The output signal is referred to as original data symbols.

A precoder, which can be implemented as a software module 302 which provides precoding instructions to a processor, groups the original data symbols into blocks, each comprising N symbols. The precoder can be configured to perform an N-point DFT to produce a set of spread data symbols, also referred to as DFT-spread data symbols.

In some aspects, software module 302 is configured to perform spatial precoding. For example, the module 302 may employ CSI to generate a precoding matrix. Aspects of the disclosure anticipate that the software module 302 can be configured to perform any of various invertible transform operations on the original data symbols and/or derivatives thereof.

The software module 302 can be configured to produce precoded data symbols in accordance with subcarrier parameter(s) and at least one precoding criterion. Precoding criteria can include objectives, such as providing a PAPR below a predetermined threshold, providing orthogonality (which can comprise an evaluation, such as whether spreading code cross correlations are below a threshold value), and enabling efficient precoding (such as via a fast transform algorithm, or other types of processing). Other spreading criteria may be employed.

In some aspects, higher PAPR might be tolerable when a small constellation size (e.g., BPSK modulation) and/or low transmit power is employed, so spreading can be configured to improve processing efficiency and/or orthogonality at the expense of allowing for a higher PAPR. When high transmission power and/or modulations that produce a high-PAPR signal are employed, there might be less PAPR budget to exploit. Thus, the software module 302 might be configurable to sacrifice processing efficiency and/or orthogonality in favor of lower PAPR or vice versa.

In some aspects, pulse shaping can be performed by “windowing” the precoded signal. This can be performed as part of the precoding by the software module 302, or it may be performed by mapper 303, such as applied to inputs of an IFFT 304. For example, a tapered window can taper the amplitudes of at least some of the spread data symbols such that the taper is applied to the edges of the allocated spectrum. Raised cosine and Gaussian filter shapes can be used, but other types of pulse shaping may be employed.

The mapper 303 maps each of the N DFT outputs to one of M>N IFFT 304 frequency bins. An exemplary value of M is 256 subcarriers and N=M/

is an integer submultiple of M.

is the bandwidth expansion factor of the symbol sequence. The result of the subcarrier mapping is a set of complex subcarrier amplitudes, where N of the amplitudes are non-zero. The M-point IDFT 304 transforms the subcarrier amplitudes to a complex time domain signal comprising a superposition of modulated subcarriers, referred to herein as an OFDM signal.

The transmitter can comprise a cyclic prefix appender 305, which inserts a cyclic prefix in order to provide a guard time to prevent inter-block interference (MI) due to multipath propagation. In general, the cyclic prefix is a copy of the last part of the block, which is added at the start of each block. If the length of the cyclic prefix is longer than the maximum delay spread of the channel, or roughly, the length of the channel impulse response, then, there is no IBI. Since the cyclic prefix is a copy of the last part of the block, it converts a discrete time linear convolution into a discrete time circular convolution. Thus, transmitted data propagating through the channel can be modeled as a circular convolution between the channel impulse response and the transmitted data block, which, in the frequency domain, is a pointwise multiplication of the DFT frequency samples. Then, to remove the channel distortion, the DFT of the received signal can simply be divided by the DFT of the channel impulse response point-wise, or a more sophisticated frequency domain equalization technique can be implemented.

Additional baseband processing, such as via a pulse-shaping filter 306, can be performed. For example, pulse shaping can reduce out-of-band signal energy. In electronics and telecommunications, pulse shaping is the process of changing the waveform of transmitted pulses. Its purpose is to make the transmitted signal better suited to its communication channel, typically by limiting the effective bandwidth of the transmission. In RF communication, pulse shaping is essential for making the signal fit in its frequency band. At baseband, the time sequence of the spread-DFT signal is filtered by the pulse-shaping filter. The spectrum of the transmission is thus determined by the filter.

Digital-to-analog conversion (DAC), frequency up-conversion, and amplification are typically performed to produce a transmitted signal. In practical implementations, typical DACs use digital interpolation filtering before implementing the D-to-A conversion. By interpolating the data samples, the performance of the reconstruction filter is improved, as increasing the sampling frequency can be seen to directly reduce the analog filter requirements for alias suppression.

Interpolation in OFDM is typically performed by the IFFT 304. Interpolators in OFDM are described in U.S. Pat. No. 6,597,745, which is incorporated by reference, wherein a transform-domain interpolation unit expands a length-N transform domain vector by inserting zeros in the length-N transform domain vector to produce a length-2N transform domain vector. This transform-domain up-sampling unit interpolates the transform domain vector.

In some aspects of the disclosure, a signal after the IFFT 304 is processed to measure or estimate PAPR. For example, module 310 can measure the PAPR of a digital baseband transmission signal output by filter 306. In some aspects, the signal output from filter 306 is generated from an update signal, such as an update data matrix and/or an update transform matrix. Module 310 may combine the signal output from filter 306 with a base transmission signal to produce an updated transmission signal, followed by PAPR measurement, and then a decision process that can determine whether to generate a new update signal or output the current updated signal or a signal from a previous iteration. In some aspects, the module's 310 decision process outputs data to at least one transmitter configured to operate upon the data to generate a transmission signal with low PAPR.

In some aspects, a symbol update module 311 is responsive to module 310 to generate one or more new data symbols, change the order of a set of data symbols, and/or adapt one or more values of a set of data symbols. The data symbols can comprise user data, control data, reference symbols, dummy data, or some combination thereof. The symbol update module 311 may be configured to perform selective mapping. The update module 311 generates a sparse data matrix, which modules 302-306 operate on to produce an update digital baseband transmission signal. Module 310 then adds the update digital baseband transmission signal to a base signal generated in a previous iteration, for example, to produce an updated signal. In alternative aspects, module 310 processes the signal at some The PAPR of the updated signal is measured. The updated signal may be stored in memory. The updated signal may be designated as a base signal to be used in a subsequent iteration and/or employed as a transmission signal if its PAPR meets a predetermined criterion.

In some aspects, a precoder update module 312 is provided. The precoder update module 312 may be responsive to module 310 to update the precoder 302. It should be appreciated that while aspects of the disclosure describe matrix operations, the implementation of modules 302 and/or 304 may be implemented via any alternative functions that are equivalent to the described matrix operations. Either or both modules 311 and 312 may be employed.

In some aspects, mapping update module 313 may be provided. For example, responsive to module 310, the module 313 may update which data symbols are mapped to which OFDM subcarriers. Module 313 may update which of a set of subcarriers are employed. Module 313 may update complex weights applied to one or more of the subcarriers. Module 313 may be employed with modules 311 and/or 312.

Optionally, a filter update module 316 may be employed to adapt one or more parameters of the filter 306, such as to reduce the PAPR.

The exemplary aspects of the disclosure may be implemented, at least in part, by computer software executable by a processor in a UE, a data processor in a BTS, by a central processor, by a network manager, by multiple data processors in a distributed computing system, and/or by hardware, or by a combination of software, hardware, and firmware.

FIG. 4A is a flow diagram that depicts some aspects of the disclosure. A sparse update matrix is calculated 401, possibly based on a PAPR measurement of a candidate transmit signal. A matrix operation or equivalent function that distributes over addition is performed on the update matrix 402, and the result is added to a previous result (e.g., a base signal) 403. The operation 402 might comprise precoding and/or OFDM modulation. Operation 402 can include spreading and other invertible transforms. Operation 402 might further comprise mapping, appending a cyclic prefix, filtering, and/or other operations that also distribute over addition. PAPR calculation 404 is performed on a candidate transmission signal, or a signal from which a transmission signal can be produced. A decision block 405 determines, based on the PAPR, whether to perform another iteration (e.g., control returns to 401) or output a transmission signal (or data from which a transmission signal can be produced) 406. The decision block 405 can provide for storing the transmission signal, PAPR, and/or corresponding update data matrix in memory.

FIG. 4B is a flow diagram that depicts some aspects of the disclosure. A sparse update data matrix is calculated 411, followed by matrix multiplication or an equivalent process on the update matrix 412. The resulting update product can be added to a base matrix generated from a previous iteration 413. Equivalently, block 413 can provide for additional processing that distributes across addition, and the processed update product can be added to a similarly processed base matrix from a previous iteration. PAPR calculation 414 is followed by decision processing 415, which either returns control to 411 or selects a signal for transmission 416.

FIG. 5A is a flow diagram that depicts some aspects of the disclosure. A sparse update operator is calculated 501, followed by an update operation 502 on a data set using the sparse update operator to produce a result. The operation distributes across addition, so the result is added to a previous result 503, such as a result corresponding to a base operator. PAPR is calculated 504 for a corresponding transmission signal generated from the sum 503. A decision 505 returns control to 501 for another iteration or outputs a best transmission (and/or corresponding data) 506.

FIG. 5B is a flow diagram that depicts some aspects of the disclosure. A sparse update data matrix is calculated 511, followed by an invertible transform operating on the update matrix 512. The resulting transformed data can be added to a base transformed data generated from a previous iteration 513. PAPR calculation 514 is followed by decision processing 515, which either returns control to 511 or selects a signal for transmission 516.

FIG. 6A is a flow diagram that depicts some aspects of the disclosure. A sparse update data matrix is calculated 601, followed by a precoding operating on the update matrix 602. The update precoded data can be added to a base precoded data generated in a previous iteration 603. A sparse update matrix can be calculated 604 from the sum in 603. For example, an update (such as 601) confined to a spatial multiplexing subspace might also be confined to a subband, thus the sparse update matrix in 604 might only update the corresponding subband. The new matrix (indicated by “(2)”) is transformed by an IFFT 605 or similar operation. The resulting transformed update is added to a base transformed signal 606, and the sum is processed for PAPR measurement 607. A decision process 608 employs the PAPR measurement to direct control to 601 or 609. The best transmit signal (and/or corresponding data) determined from a plurality of iterations is output for transmission 609.

FIG. 6B is a flow diagram that depicts some aspects of the disclosure. A sparse update data matrix is calculated 611, followed by a precoding operating on the update matrix 612. An IFFT is performed on the precoded update 613, and the output of the IFFT 613 is added to a base transmit signal 614, which may be determined during a previous iteration. PAPR measurement 615 of the sum is followed by a decision process 616, which directs control to 611 or 617. The best transmit signal (and/or corresponding data) determined from a plurality of iterations is output for transmission 617.

FIG. 7 is a block diagram that depicts a non-transient computer-readable memory 700 comprising a set of instructions stored therein and executable by a processor to perform methods in accordance with aspects of the disclosure. In one aspect, the instructions can comprise a software interface such as to provide for access to resources (e.g., functions, variables, etc.) inside a program or source code segment. Interfaces between software components can provide constants, data types, types of procedures, exception specifications, and/or method signatures. Sometimes public variables are defined as part of an interface. A software interface may provide access to computer resources, such as memory, CPU, storage, etc.). In some aspects, a software module comprises an interface and an implementation, wherein the implementation can contain code configured to perform procedures and methods described in the interface, as well as comprising private variable, procedures, and/or other structures and/or capabilities.

In one aspect, data symbols, such as corresponding to user data, control information, reference symbols, and/or some combination thereof, is input to an update matrix module 701 configured to generate an updated data symbol matrix relative to a previous data symbol matrix. In another aspect, update matrix module 701 generates an update transform operation matrix relative to a previous transform operation matrix. Module 701 operates as part of a PAPR signal reduction process, which may be an iterative process. Module 701 may calculate updates that it determines will reduce PAPR of a transmission signal or is likely to reduce PAPR of a transmission signal. The module 701 may employ analytical and/or deterministic processes to generate the updates.

Transform function module 702 can be configured to perform one or more transform operations on input data symbols, such as updated data symbols from module 701. The transform operation(s) distribute across addition. The transform operation(s) can comprise one or more invertible transforms. The transform operation(s) can comprise combined transform operations. The module 702 may perform matrix operations or equivalent processing operations.

Time-domain signal generation module 703 produces a time domain signal (e.g., a transmit signal) from transformed data produced by module 702. Module 703 may be configured to perform OFDM modulation, for example, and may comprise an IFFT or an alternative process configured to generate OFDM signals. Module 703 may be configured to append a cyclic prefix, perform pulse shaping, and/or provide for other post-modulation signal processing.

PAPR measurement module 704 measures PAPR for time-domain signals and/or estimates PAPR for time-domain signals that can be generated from predetermined data symbols and transform functions.

Decision module 705 is configured to compare PAPR measurements, direct update processing, and output low-PAPR transmit signals and/or data from which low-PAPR transmit signals can be generated. Module 705 may provide information to modules 701 and/or 702, such as to support or direct update processing of data and/or transform functions.

Routing module 706 can optionally be provided, such as to communicate low-PAPR signals and/or corresponding data signals to a set of transmitters via a network. Routing module 706 might operate cooperatively with network nodes to provide for virtualization of computing resources, such as in a Cloud configuration.

Aspects disclosed herein exploit partial update techniques to effect computationally efficient processing for reducing the PAPR of an OFDM signal. This is applicable to various types of OFDM signals, including (but not limited to) MIMO-OFDM signals and OFDMA signals. In MIMO-OFDM, a PAPR-based metric can take into account PAPR measurements across the plurality N_(t) of MIMO transmitters or a predetermined subset of the N_(t) of the transmitters, and a set of adaptation parameters (e.g., selective mapping symbols, dummy data symbols, as well as others disclosed herein) can be selected corresponding to a “best” PAPR-based metric.

Aspects disclosed herein can comprise data-independent updating schedules, data-dependent updating schedules, and combinations thereof. Data-dependent updating schedules can have faster convergence in some cases (e.g., for stationary signals) than algorithms that have data-independent updating schedules.

A step size parameter used for updating adaptation parameters can be determined to provide desirable conditions, such as convergence conditions and/or stability. The step size may be constant or it may be variable based on one or more measurement criteria. In some aspects, conditions on the step size parameter are derived that provide convergence in the mean and the mean square sense.

In some aspects, the parameters to be updated in a data-independent updating schedule are chosen at random. Aspects may employ a stochastic partial update algorithm. In one example, parameters to be updated are partitioned into multiple subsets of the total set of parameters, and then the subsets are randomly selected to be updated in each iteration. In some aspects, a predetermined schedule of parameters to be updated in each iteration is provided.

Partial-update algorithms employed herein can be configured to reduce the number of computations and take into account costs for increased program and data memory. For example, the reduction in number of execution cycles might be offset by the additional cycles needed for storing the data in intermediate steps. A processing metric to be optimized by the algorithm can comprise any combination of these costs.

Let {x_(i,k)} be an input data sequence and let {w_(i,k)} denote coefficients of an adaptive filter of length N.

w _(k)=[w _(1,k) w _(2,k) . . . w _(N,k)]^(T)

x _(k)=[x _(1,k) x _(2,k) . . . x _(N,k)]^(T)

where the terms defined above are for the instant k and ( )^(T) denotes the transpose operator. The problem is to select X_(k) and/or W_(k) to obtain the OFDM signal with the lowest PAPR.

In some selective mapping aspects disclosed herein, multiple candidate symbol sequences X_(k) can be provided. In some aspects, selective mapping can be effected by multiplying the input data symbol sequence X_(k) with a phase-rotation matrix W_(k). By way of example, a statistically independent symbol sequence Z_(k) can be generated from Z_(k)=W_(k)X, where W_(k) is a k^(th) candidate phase-rotation matrix.

Some aspects can employ a partial transmit sequence (PTS) scheme wherein a phase-optimization technique can provide the optimal combination of signal subblocks. In some aspects, the values W_(k) are selectable from candidate phase sequences. In some aspects, dummy sequence insertion (DSI) is employed. Combinations of the aforementioned PAPR-reduction techniques can be employed. For example, a combination of DSI and PTS schemes can be employed. Other combinations can be employed.

With OFDM modulation, a block of N data symbols (one OFDM symbol), {x_(n), n=1, . . . , N} will be transmitted in parallel such that each modulates a different subcarrier from a set {f_(n), n=0, 1, . . . , N}. The N subcarriers are orthogonal, i.e. f_(n)=nΔf, where Δf=1/NT and T is the symbol period. The complex envelope of the transmitted OFDM signal is given as:

${x_{n}(t)} = {\frac{1}{\sqrt{N}}{\sum\limits_{n = 1}^{N}{X_{n}e^{i2\pi f_{n}t}}}}$

where 0≤t≤NT.

The PAPR of the transmitted OFDM signal is

${PAPR} = {\frac{\max\limits_{0 \leq t \leq {NT}}{❘{x_{n}(t)}❘}^{2}}{E\left\lbrack {❘{x_{n}(t)}^{2}❘} \right\rbrack} = \frac{\max\limits_{0 \leq t \leq {NT}}{❘{x_{n}(t)}❘}^{2}}{\frac{1}{NT}{\int_{0}^{NT}{{❘{x_{n}(t)}❘}^{2}{dt}}}}}$

where E[·] denotes the expected value. The complementary cumulative distribution function (CCDF) is one of the most frequently used performance measures for PAPR reduction, representing the probability that the PAPR of an OFDM symbol exceeds a given threshold, PAPRo, which is denoted as CCDF=Pr(PAPR>PAPR₀). Other PAPR performance measures may be used, and aspects of the disclosure are not limited to performance measures disclosed herein.

The optimization problem of finding precoded data vectors that yield the OFDM signals with the minimum PAPR can be regarded as a combinatorial optimization problem. In some aspects, a sub-optimal technique derives precoding weights that provide an acceptable reduction in PAPR while achieving a significant reduction in search complexity.

FIG. 8A is a block diagram of a selective mapping (SLM) weight selector according to an exemplary aspect of the disclosure. A data mapper 801 receives at least one input data stream and can map the data to layers and resource blocks. In the aspects depicted in FIG. 8A, the mapper 801 partitions received data symbols into blocks of length N, providing for input data symbols X=[X₀ X₁ . . . X_(N-1)]^(T) in a first block, for example. The symbols X might comprise data symbols output from a modulator, encoded data symbols, spread data symbols, precoded data symbols (e.g., MIMO-precoded data symbols), transform-precoded data symbols, or otherwise pre-processed data symbols. The mapper 801 might determine the block length N from scheduling information (such as by reading an uplink scheduling grant transmitted from an eNodeB. However, the PAPR-reduction aspects disclosed herein are contemplated for downlink transmissions as well), which is the number of OFDM subcarriers assigned to a transmitter. The data symbols in each block are then mapped (e.g., coupled to input frequency bins of an IFFT) to an invertible transform 802 in accordance with the set of OFDM subcarrier frequencies assigned to the transmitter.

It should be appreciated that the data mapper 801 can comprise a physical data storage medium, such as (but not limited to) random access memory, hard drive, virtual memory, and the like; and can comprise a data buffer, for example, and a data-processor for organizing and/or manipulating data in the data buffer and optionally provide for managing I/O operations. In some aspects, the data mapper 801 can comprise a serial-to-parallel (S/P) converter to convert an input serial data stream into a parallel set of N symbol outputs. By way of example, the data mapper 801 can comprise a serial-in/parallel-out shift register that converts data from serial format to parallel format. Other S/P circuits may be provided.

The invertible transform 802 can comprise an IDFT, such as an IFFT. An N-point IFFT operation is expressed as F, which can comprise M=log₂N stages, wherein each stage comprises multiplication by an NXN (i.e., square) symmetric matrix. An NXN weight matrix W (such as a base weight matrix denoted as W⁽⁰⁾) may be employed to multiply the symbol vector X=[X₀ X₁ . . . X_(N-1)]^(T) before the IFFT. A base discrete-time OFDM signal x⁽⁰⁾=[x₀ x₁ . . . x_(N-1)]^(T) is produced by the IFFT for input the data symbols:

x ⁽⁰⁾ =FW ⁽⁰⁾ X.

The weight matrix W⁽⁰⁾ employed in the invertible transform 802 can comprise a selective mapping symbol matrix (e.g., a phase-rotation matrix), a transform precoding matrix, any type of spreading matrix, any type of code division multiple access matrix, a MIMO precoding matrix, or any combination thereof.

In some aspects, weight matrix W⁽⁰⁾ may be absent. In such aspects, W⁽⁰⁾ may be represented mathematically as an NXN Identity matrix I.

The IFFT can comprise an N-point IFFT, wherein each data block input to the IFFT comprises N data symbols. In some aspects, the IFFT is an M-point IFFT (M>N), in which case, the descriptions herein can be adapted accordingly. The IFFT may be configured to provide for zero insertion and/or zero padding. The base discrete-time OFDM signal x⁽⁰⁾ output by the invertible transform 802 may be stored in memory 813, such as to be accessed for use in a linear combiner 803.

The symbol vector X=[X₀ X₁ . . . X_(N-1)]^(T) may be stored in memory 810 in order to be accessed by a sparse-matrix multiplier 811. An update-matrix generator 815 is configured for generating sparse update matrices as described herein, optionally in response to PAPR measurements and/or control information from a PAPR analyzer 814. The update-matrix generator 815 produces one or more NXN update matrices W^((u)) (such as indicated by index u, 1≤u≤U, where U is a total number of updates). The weight set W⁽¹⁾, W⁽²⁾, . . . W^((U)) may comprise phase-rotation values, for example, such as may be used in selective mapping schemes.

In some aspects, the NXN update matrices W^((u)) comprise diagonal matrices whose diagonal elements are weights for multiplying symbol vector X to generate a corresponding update symbol vector X^((u)). The NXN update matrices W^((u)) can be sparse matrices, meaning that at least one of the weights (e.g., one of the diagonal elements) is zero.

The sparse matrix multiplier 811 can be configured acquire data vector X from memory 810, and thus may be configured for managing I/O operations. The multiplier 811 is configured to multiply a subset of values of data vector X with weights indicated by each of the sparse update matrices W^((u)). It should be appreciated that matrices W^((u)) can be indicated as sparse vectors, and the mathematical description herein adapted accordingly. For example, in either case, only values of data vector X corresponding to non-zero weights in W^((u)) may be updated, and the remaining values of X are set to zero corresponding to the zero values of W^((u)).

In some aspects, a multiplication of a weight value with an X value may be effected via addition and subtraction to arrive at the equivalent result. For example, matrix multiplier 811 might comprise logic and/or circuits configured to convert a −1 multiplication of symbol value 1 into a subtraction of −2 from symbol value 1. Equivalently, this multiplication may be effected by changing the sign bit corresponding to symbol value 1. Various corresponding bit-level operations may be employed to effect multiplication in the aspects disclosed herein.

The sparse matrix multiplier 811 produces an update data symbol vector X^((u))=W^((u))X, which is input to invertible transform 812. It should be appreciated that the multiplier 811 may comprise a mapper with the same functionality as the mapper 801 and might comprise similar structure. The invertible transform 812 can comprise the same functionality as invertible transform 802 and might comprise the same structure. For example, the same invertible transform circuit might be used to implement 802 and 812, as the invertible transform operation 802 might be performed before the invertible transform operation(s) 812. In some aspects, multiplication, invertible transforms, as well as other functions described herein, may be performed by a single processor configured to implement multithreading, or by a multiprocessor with each processor or core executing a separate thread simultaneously. On a processor or core with hardware threads, separate software threads can be executed concurrently by separate hardware threads. In some aspects, pipelined processor architectures can be employed. In some aspects, virtualized computing platforms may be implemented.

An update discrete-time OFDM signal x^((u))=[x₀ ^((u)) x₁ ^((u)), . . . x_(N-1) ^((u))]^(T) is produced by the invertible transform 812:

x ^((u)) =FW ^((u)) X.

The linear combiner 803 combines the update discrete-time OFDM signal x^((u)) with the base discrete-time OFDM signal x⁽⁰⁾ to produce an updated discrete-time OFDM signal y^((u)):

y ^((u)) =x ⁽⁰⁾ +x ^((u))

For example, linear combiner 803 may perform a vector sum on vectors x⁽⁰⁾ and x^((u)).

In one aspect, x⁽⁰⁾ is stored in memory 813, and linear combiner 803 retrieves it for each subsequent update (u). In some aspects, y^((u)) is stored in memory 813 by the linear combiner 803, and it may be designated as the base discrete-time OFDM signal x⁽⁰⁾ for a subsequent update(s).

In some aspects, a signal selector 804, which comprises PAPR analyzer 814, selects y^((u)) to be stored in memory 813, such as if the value y^((u)) has a corresponding low PAPR and is consequently designated by the signal selector 804 to be used as a base for further PAPR reduction. The signal selector 804 may also store corresponding PAPR measurements and/or PAPR-based metrics in the memory 813.

PAPR analyzer 814 is configured to measure the PAPR of each discrete-time OFDM signal y^((u)), possibly generating PAPR metrics from such measurements, and then is configured to compare the PAPR measurements (and/or metrics) to PAPR measurements (and/or metrics) corresponding to one or more previous discrete-time OFDM signal. The PAPR analyzer 814 may comprise a decision-processing capability configured to select a “best” discrete-time OFDM signal for further PAPR-reduction processing or to be output for subsequent transmission signal processing. The PAPR analyzer 814 may comprise a weight-adaptation capability configured to adapt the generation or selection of update matrices W^((u)) produced by the update-matrix generator 815. For example, PAPR analyzer 814 may compare a current PAPR measurement with one or more previous PAPR measurements, determine if there is a possible correlation between certain weight values and PAPR reduction, and then test its hypothesis by adapting the PAPR analyzer 814.

The signal selector 804 might select a set of weights corresponding to the discrete-time OFDM signal with the best PAPR or PAPR-based metric, and then output the set of weights for further processing in a baseband processing circuit. The best PAPR might be a measured or computed PAPR that is below a predetermined threshold value. The best PAPR might be the lowest PAPR from a set of PAPR measurements, wherein the number of PAPR measurements in the set might be predetermined or might be based on a time limit (e.g., a maximum number of clock cycles) for performing the weight selection. In some aspects, the signal selector 804 might output the discrete-time OFDM signal with the best PAPR for further processing in a baseband processing circuit.

FIG. 8B is a block diagram of an exemplary baseband processing apparatus, wherein the block diagram depicted in FIG. 8A may be implemented as an SLM Weight Selector 862. It should be appreciated that the block diagrams shown in the disclosure can represent functional elements of a baseband processing circuit, such as (but not limited to) an ASIC, an FPGA, a software-defined radio programmed to perform the functions disclosed herein, or any combination thereof.

A baseband modulator 851 is coupled to a selective mapping precoder 852, of which SLM Weight Selector 862 may be a component. Optionally, a transform precoder and/or MIMO precoder 853 is coupled between the selective mapping precoder 852 and an M-point IFFT 854. A pulse-shaping filter 855 follows the IFFT 854.

In an exemplary functional aspect, the SLM Weight Selector 862 receives the data stream from the baseband modulator 851 and outputs at least a selected set of weights that provides a “best” discrete-time OFDM signal with respect to PAPR for a given data block (and within certain constraints, such as maximum number of iterations, maximum processing time, or some other constraint(s)). In some aspects, if transform precoding, MIMO precoding, spreading, or some other precoding is employed by the precoder 853, such precoding may be communicated to the SLM Weight Selector 862 such that the precoding might be implemented in the invertible transforms 802 and 812. In some aspects, the SLM Weight Selector 862 outputs SLM-weighted data corresponding to the discrete-time OFDM signal with the lowest PAPR. In some aspects, the SLM Weight Selector 862 outputs the discrete-time OFDM signal with the lowest PAPR.

The selective mapping precoder 852 can employ an SLM codebook and select candidate SLM weight sets therefrom. SLM codebooks, including techniques for generating such codebooks, employing such codebooks, and conveying via a control channel a codebook selection(s), can be implemented in a similar manner as is known in the art for other codebook applications, such as in C. Jiang, et al.; “MIMO Precoding Using Rotating Codebooks”; IEEE Trans. Veh. Tech.; Vol. 60, Issue 3, March 2011; A. Boonkajay, et al.; “2-Step phase rotation estimation for Low-PAPR signal transmission using blind selective mapping”; 2017 IEEE 28th Annual International Symposium Personal Indoor and Mobile Radio Comm. (PIM:RC); pp 1-5, 2017; and M. Sghaier, et al.; “Efficient embedded signaling through Alamaouti STBC precoders in MIMO-OFDM systems”; 2013 IEEE Wireless Comms. And Networking Conf. (WCNC); pp. 4053-4058, 2013; all of which are incorporated by reference in their entireties.

In some aspects, SLM Weight Selector 862 returns a feedback signal, comprising (for example) feedback bits indicative of a selected SLM weight set, to the selective mapping precoder 852.

The precoder 852 is responsive to the feedback signal for selecting the corresponding weight set. Some aspects provide for blind SLM, such as to reduce or eliminate side information. Aspects disclosed herein for reducing or eliminating side information can find further utility in distributed processing networks, such as to minimize control-signaling overhead in networks connecting the processors.

FIG. 9 is a flow diagram that is representative of PAPR-reduction operations in a multi-antenna MIMO system in accordance with some aspects of the disclosure. Blocks depicted herein can represent operations performed in a centralized processor or may be distributed across multiple processors, such as in a Cloud computing configuration. In some aspects, the processors may reside on network nodes, such as nodes corresponding to the multiple antennas in a Cooperative-MIMO configuration.

One or more input data streams are mapped to a number N_(t) of layers 901 corresponding to a plurality of MIMO transmission channels, such as MIMO subspace channels. Data in each layer 1−N_(t) is mapped to a plurality N of OFDM subcarrier frequencies 902.1-902.N_(t), such as in accordance with scheduling information that assigns N subcarriers to a transmitter. The mapping 902.1-902.N_(t) can comprise partitioning the data symbols into blocks of size N. Thus, mapping 902.1-902.N_(t) can produce a set of N_(t) blocks, each with size N. A data selection process 903.1-903.N provides for selecting a set of N_(t) data symbols corresponding to each frequency, f₁ to f_(N). For each frequency f₁ to f_(N), a corresponding data symbol is collected from each of the aforementioned N_(t) blocks. Data symbols arranged in each process 903.1-903.N can be formatted into N blocks of size N_(t).

A block of N_(t) data symbols d(f₁) corresponding to frequency f₁ is configured for processing for each of the N_(t) antennas (e.g., shown as Antenna 1-Antenna N_(t)). This is performed for each frequency up to f_(N). For simplicity, it is assumed that the number of transmit antennas equals the number of layers. However, aspects disclosed herein can be adapted for different antenna configurations, such as wherein the number of antennas is greater than N_(t).

Processing for Antenna 1 can comprise applying a PAPR-reduction weight matrix (which may comprise a phase rotation sequence) to each of the data blocks d(f₁)-d(f_(N)) 904.1,1-904.1,N-904.N_(t),1-904.N_(t),N. Weight matrices W₁(f₁)-W₁(f_(N)) can be employed for Antenna 1, and W_(Nt)(f₁)-W_(Nt)(f_(N)) can be employed for Antenna N_(t). For simplicity of notation, each data block resulting from the product of a weight matrix W_(j)(f_(n)) (indexed by antenna (j) and frequency (n)) with a data symbol block d(f_(n)) 904.1,1-904.1,N-904.N_(t),1-904.N_(t),N is also denoted as d(f_(n)).

Each data symbol block d(f_(n)) corresponding to each antenna (1 to N_(t)) is multiplied by a MIMO precoding vector s_(i)(f_(n)) indexed by antenna (j) and frequency (n) 905.1,1-905.1,N-905.N_(t),1-905.N_(t),N to produce a corresponding precoded symbol value. Thus, for each antenna, N precoded symbol values are produced that correspond to a set of N symbol blocks d(f_(n)), n=1, . . . ,N, of size N_(t). Each of the N precoded symbol values comprises a linear combination of the N_(t) data symbols of the block d(f_(n)) of the corresponding subcarrier frequency f_(n). The N precoded symbol values for each antenna are mapped 906.1-906.N_(y) to input bins of a set of IFFTs 907.1-907.N_(t). The IFFTs 907.1-907.N_(t) generate a discrete-time MIMO-OFDM signal for each of the antennas 1−N_(t).

In accordance with some aspects of the disclosure, selection of the weight matrices W_(j)(f_(n)) in FIG. 9 is explained with reference to the block diagram illustrated in FIG. 10 . Aspects disclosed herein can be configured for centralized processing in a massive-MIMO antenna array, centralized processing in a distributed antenna system, distributed processing in a distributed antenna system, and any combination thereof. In one aspect, distributed processors employed herein comprise a Cloud computing network, such as may comprise selectable processors distributed across machines in a rack, machines in multiple racks, and/or machines residing in multiple geographically distributed data centers. The Cloud computing network can comprise a Cloud storage network, which can be distributed across machines in a rack, machines in different racks, and/or machines in different data centers. Included in the Cloud computing network in accordance with some aspects of the disclosure are selectable and/or configurable network resources, including switches, routers, access points, gateways, and the like. Such selectable and/or configurable network resources can provide for selectable and configurable access to backhaul networks. Such selectable and configurable access can comprise selectable bandwidth, selectable latency, selectable quality of service, and the like. The Cloud computing network may comprise cooperating wireless devices functioning as antennas as well as distributed processors in a Cooperative-MIMO system. Each of the cooperating wireless devices may comprise processing resources (which can include Cloud storage and virtual networking resources) and may be configured to perform at least some of the PAPR-reduction operations disclosed herein.

A data mapper 1001 can map one or more input data streams to resource blocks and layers. Optionally, data may be processed by a multiplier 1002 configured to multiply the data with one or more weights. The weights might comprise an initial weight set W⁽⁰⁾, for example. Multiplier 1002 might be configured to scramble the data, spread the data with any type of spreading code and/or multiple access code, perform any type of transform precoding (such as SC-FDMA precoding), or provide for any combination thereof. Data symbols output by the mapper 1001 or the multiplier 1002 are input to a plurality N_(t) of processing branches wherein each branch corresponds to one of the N_(t) antennas, for example. The processing branches can be implemented in a serial or parallel architecture of processors, or combinations thereof. The processing branches may employ a centralized processor, a distributed set of processors, or any combination thereof.

A first branch comprises a first path (e.g., MIMO precoder 1003.1 and Invertible transform 1004.1) that generates an initial or base discrete-time MIMO-OFDM signal, and a second path (e.g., Sparse Matrix Multiplier 1007.1, MIMO precoder 1008.1, and Invertible Transform 1009.1) that generates a plurality U of update discrete-time MIMO-OFDM signals to added to the base discrete-time MIMO-OFDM signal in a linear combiner 1005.1. The resulting combined discrete-time MIMO-OFDM signal output from the linear combiner 1005.1 is analyzed in a PAPR measurement module 1006.1 to measure the signal's PAPR.

An N_(t) ^(th) branch comprises a first path (e.g., MIMO precoder 1003.N_(t) and Invertible transform 1004.N_(t)) that generates an initial or base discrete-time MIMO-OFDM signal, and a second path (e.g., Sparse Matrix Multiplier 1007.N_(t), MIMO precoder 1008.N_(t), and Invertible Transform 1009.N_(t)) that generates a plurality U of update discrete-time MIMO-OFDM signals to added to the base discrete-time MIMO-OFDM signal in a linear combiner 1005.N_(t). The resulting combined discrete-time MIMO-OFDM signal output from the linear combiner 1005.N_(t) is analyzed in a PAPR measurement module 1006.N_(t) to measure the signal's PAPR.

With respect to each branch, a description of the first branch is provided herein for simplicity. MIMO precoder 1003.1 and 1008.1 can employ MIMO precoding weights (such as spatial multiplexing weights, diversity combining weights, SVD weights, STBC weights, and the like), that may be previously generated and stored in a memory. For example, MIMO precoding weights might be generated from CSI derived from measurements of pilot signals. The MIMO precoder 1003.1 and 1008.1 might read the MIMO precoding values from the memory and perform weighting (e.g., via matrix multiplication) with the input data symbols. The MIMO precoder 1003.1 and 1008.1 might comprise I/O circuitry and/or a processor programmed to interface with the memory to read the precoding weights and circuits or a processor configured to perform matrix multiplication between an input data matrix (e.g., a vector) and a precoding weight matrix (e.g., a vector) to generate precoded data symbols. In some aspects, MIMO precoder 1003.1 and 1008.1 might be implemented with circuitry common to both precoders configured to separately or concurrently perform the operations corresponding to each MIMO precoder 1003.1 and 1008.1. Similarly, Invertible Transforms 1004.1 and 1009.1 may be implemented with a single invertible transform circuit or a single general-purpose processor programmed to perform an IFFT (for example).

Sparse Matrix Multiplier 1007.1 is configured to multiply each input data set with a sparse update weight matrix W^((u)), such as may be stored in a memory 1010. It should be appreciated that in some aspects, the sparse update weight matrix W^((u)) can be an SLM matrix (such as a phase-rotation matrix). In other aspects, the update weight matrix W^((u)) can be configured to effect dummy symbol insertion, such as into one or more predetermined OFDM resource blocks and/or layers. Dummy symbol insertion may be effected by employing subchannels that are assigned for PAPR-reduction signaling rather than communications, including spatial subchannels (which can include a signal space projection that is orthogonal to the signal space employed for communications). In some aspects, the update weight matrix W^((u)) can effect scheduling permutations of the data symbols to resource blocks and/or layers. Multiplier 1007.1 might comprise I/O circuitry and/or a processor programmed to interface with the memory 1010 to read the weights W^((u)), and circuits or a processor configured to perform matrix multiplication between an input data matrix (e.g., a vector) and each weight matrix W^((u)). Each weight matrix W^((u)) may be stored in the memory 1010 with a corresponding index u as part of a weight codebook, and the index u might be communicated with other devices to identify a particular weight matrix W^((u)). In some aspects, the codebook comprises each update weight matrix W^((u)). In some aspects, the codebook stores a base matrix W⁽⁰⁾ and matrices equal to the base matrix W⁽⁰⁾ summed with each update weight matrix W^((u)). In some aspects, the codebook stores a set of matrices wherein for index u, the corresponding matrix equals the sum of update weight matrix W^((u)) with a previous base matrix. In some aspects, Multiplier 1007.1 is programmatically and/or electronically incorporated into the MIMO precoder 1008.1.

The linear combiner 1005.1 combines each (u^(th)) update discrete-time MIMO-OFDM signal with a base discrete-time MIMO-OFDM signal to generate an updated discrete-time MIMO-OFDM signal, which is processed by PAPR measurement module 1006.1. The linear combiner 1005.1 can comprise I/O circuitry configured to write a base discrete-time MIMO-OFDM signal to memory 1015.1 and read the base discrete-time MIMO-OFDM signal from memory 1015.1, such as to sum it with an update discrete-time MIMO-OFDM signal. In one aspect, the linear combiner 1005.1 stores the discrete-time MIMO-OFDM signal output from invertible transform 1004.1 and employs this signal as the base discrete-time MIMO-OFDM signal for one or more subsequent updates. In some aspects, the linear combiner 1005.1 stores an updated discrete-time MIMO-OFDM signal and employs this signal as the base signal in one or more subsequent updates. In some aspects, PAPR measurement module 1006.1 stores an updated discrete-time MIMO-OFDM signal in the memory 1015, such as in response to comparing its PAPR measurement to a previous PAPR measurement or some threshold value. The PAPR measurement module 1006.1 might designate this updated discrete-time MIMO-OFDM signal as a base signal to be used by the linear combiner 1005.1 in one or more subsequent updates. The base discrete-time MIMO-OFDM signal and the update discrete-time MIMO-OFDM signal may comprise vectors, and the linear combiner 1005.1 can comprise a circuit or programmatically configured general-purpose processor to perform vector addition to compute the updated discrete-time MIMO-OFDM signal.

Module 1006.1 can comprise an envelope detector circuit configured to perform peak amplitude detection of discrete-time MIMO-OFDM signals, and can be configured to compute from measurements of each discrete-time MIMO-OFDM signal, a PAPR. Module 1006.1 can comprise a digital signal sampler configured to collect samples of an input discrete-time MIMO-OFDM signal. A circuit or programmed processor can be configured to calculate the PAPR from samples. In some aspects, each discrete-time MIMO-OFDM signal processed by the module 1006.1 comprises a symbol vector (or is processed to generate a symbol vector, such as via sampling), and the symbol vector is processed using mathematical functions to compute the maximum and the average vector values to produce a PAPR. The module 1006.1 can comprise I/O circuitry or can be programmatically configured to write and read values from the memory 1015.1. By way of example, the module 1006.1 might write a PAPR measurement to the memory to be compared with PAPR computed from a subsequent updated discrete-time MIMO-OFDM signal. Module 1006.1 might read a PAPR from the memory 1015.1 to compare to a current PAPR measurement. The module 1006.1 might write an updated discrete-time MIMO-OFDM signal vector to memory 1015.1 to be used by the linear combiner in a subsequent update. The module 1006.1 might write a weight index u corresponding to a best PAPR measurement to the memory 1015.1.

Stored values, such as u and its corresponding PAPR^((u)), can be read from the memory 1015.1 by the module 1006.1 and communicated to a PAPR aggregator 1011 configured to collect PAPR and weight index values (and possibly other data) from the N_(t) branches. By way of example, each branch's module 1006.1-1006.N_(t) might communicate all U PAPR measurements to the aggregator 1011.

A PAPR weighting module 1012 may optionally be provided and may be configured to multiply a weight value to each PAPR value corresponding to the branch from which it was received. The weighted PAPR values are then processed in a weight selector 1013, which can select a best weight set for use by all the branches. For example, for each index u, weight selector 1013 can sum the corresponding weighted PAPR values from all the branches to generate an aggregate power-efficiency metric. The best weight set index (0≤u≤U) can be selected from the corresponding aggregate power-efficiency metric with the smallest value. The best weight set index (or the corresponding weights) can be communicated by the weight set selector 1013 to processing branches for each antenna (such as shown in FIG. 9 ) and implemented in weighting processes 904.1,1-904.1,N-904.N_(t),1-904.N_(t),N.

Each branch weight might be stored in corresponding branch memory 1015.1-1015.N_(t) and communicated by each corresponding module 1006.1-1006.N_(t) to the PAPR weighting module 1012. Alternatively, the PAPR weighting module 1012 might compute one or more of the branch weights. In one aspect, each branch weight comprises a measure of the branch antenna's (or corresponding network node's) sensitivity to PAPR. For example, a high branch weight can correspond to a high sensitivity, whereas a low branch weight can correspond to a low sensitivity. A branch that corresponds to a battery-powered node typically has a higher branch weight than a branch that corresponds to a node with line power, since power efficiency is likely more critical to the operation of a battery-powered device. Thus, some aspects of the disclosure are configured to schedule one or more line-powered nodes to a set of battery-powered nodes in a distributed MIMO antenna array. This can provide for additional degrees of freedom, which enables weight selection 1013 to provide lower PAPR for PAPR-sensitive nodes by sacrificing low PAPR for nodes that are not as PAPR-sensitive. In some aspects, PAPR weighting module 1012 might compute one or more of the branch weights based on each corresponding node's battery life reported to the module 1012. Devices with little remaining battery life can be provided with higher corresponding branch weights than devices with nearly full battery life, for example. The PAPR weighting module 1012 might compute the branch weights based on a power-scaling factor assigned to each device (e.g., devices transmitting with higher power might have higher corresponding branch weights), a session duration assigned to each device (e.g., devices that are scheduled or otherwise expected to have a longer session, such as based on their type of data service or the file size they are transmitting, might have higher corresponding branch weights), a priority level (such as based on emergency or non-emergency links), a subscription level, or some other metric(s), or combination thereof.

FIG. 11A is a block diagram of a weight-selection module that comprises one branch of a set of N_(t) branches in a PAPR-reduction weighting network. The weight-selection module may be part of a network node's transceiver, wherein the network node is configured to operate cooperatively with at least one other network node in a distributed antenna system. For simplicity of explanation, in this aspect, the node is one of N_(t) nodes in an N_(t)-element MIMO antenna array. It should be appreciated that aspects disclosed herein can be adapted to systems in which one or more of the nodes comprises multiple antennas. In some aspects, the weight-selection module is effected functionally in a Cloud-computing network. One or more processing cores may perform the functions disclosed with respect to the weight-selection module, wherein the one or more processing cores are geographically remote from the node.

In one aspect, one node may perform one or more of the weight-selection module's processing operations for at least one other node. It should be appreciated that any of the devices disclosed herein, such as the weight-selection module, can be implemented in a virtual machine, and the virtual machine may dynamically provision processing cores, memory, network devices (e.g., switches, routers, gateways, access points, hubs, multi-homed computers (or other types of computing devices configurable for routing traffic)), and network services to meet the corresponding functional requirements.

The nodes may collaborate to perform software-defined networking. For example, a set of cooperating nodes may provision a distributed firewall. In one aspect, the nodes employ a distributed-firewall program which configures network interface devices in a distributed network to provision an application-specific firewall. An exemplary application-specific firewall would filter network traffic to allow traffic that meets predetermined criteria to reach the application and block other traffic. A firewall program for distributed weight selection (such as depicted in FIG. 11A) can control I/O processor 1101.1. The firewall program may communicate with firewall programs on other nodes, authenticate those nodes, and authenticate transmissions from those nodes. Thus, the firewall program may white-list only those nodes which have data that the resident weight-selection application might use. Furthermore, the firewall program might perform deep packet inspection at the I/O 1101.1, such as to locate, identify, classify, reroute, and/or block packets with specific data or code payloads. For example, only received packets containing the data vector d and MIMO precoding weights s₁ might be allowed to reach the weight-selection application. The firewall program might forward packets containing information intended for other nodes. When components (e.g., any of the blocks 1102.1-1110.1) of the weight-selection application shown in FIG. 11A are distributed across multiple devices, each block or set of blocks residing on any particular device 1102.1-1110.1 might comprise a corresponding I/O processor and firewall program.

The node comprises I/O circuitry 1101.1 for communicating with at least one other node. In one aspect, the node can comprise one of a set of (mobile and/or fixed) relay nodes configured for either or both uplink and downlink communications in a RAN. In one aspect, the node can comprise one of a set of base transceiver terminals (such as remote radio heads, small-cell base stations, wireless access points, and the like) configured to function as a server-side distributed antenna system. In one aspect, the node can comprise one of a set of mobile radio devices configured operate together as a client-side distributed antenna system. In one aspect, the node can comprise one of a set of devices comprising any combination of relay nodes, server-side nodes, and client-side nodes configured to operate together as a distributed antenna system. The I/O circuitry 1101.1 can comprise one or more communication transceivers, including wireless (e.g., radio, optical, or some other wireless technology) transceivers and wired (e.g., cable, fiber, or some other wire-line technology) transceivers.

At least one memory 1102.1 is communicatively coupled to at least one processor in the node for storing data and programs. The I/O 1101.1 can comprise a processor configured for writing data received from other nodes to the memory 1102.1 and reading data from the memory 1102.1 to be transmitted to at least one other node. By way of example, a CSI estimator 1110.1 may be provided to measure received RAN (e.g., WWAN) pilot signals (such as received from the I/O circuitry) and estimate CSI therefrom. The CSI may be stored in the memory 1102.1 and transmitted to at least one other node via the I/O circuitry 1101.1.

MIMO precoding weights are computed from the CSI, possibly remotely by a MIMO subspace processor (not shown). MIMO precoding weights received by the node are written to the memory 1102.1 by the I/O 1101.1. MIMO Precoder 1103.1 and 1108.1 read the MIMO precoding weights from the memory 1102.1. Data symbols to be transmitted by the node can be received by the I/O from at least one other network node and written to the memory 1102.1. MIMO Precoder 1103.1 reads the data symbols and the MIMO precoding weights from the memory 1102.1. The memory 1102.1 can further comprise update weight matrix data, such as a set of update weight matrices W^((u)), each indexed by update index u. Sparse matrix Multiplier 1107.1 reads the data and an update weight matrix from the memory for each iteration. The discrete-time MIMO-OFDM signals generated by either or both invertible transforms 1104.1 and 1109.1 may optionally be stored in the memory 1102.1 for subsequent processing. In one aspect, the initial (u=0) iteration includes writing the base discrete-time MIMO-OFDM signal to the memory 1102.1. Linear combiner 1105.1 can read the base discrete-time MIMO-OFDM signal from memory 1102.1 and combine it with an update discrete-time MIMO-OFDM signal generated by invertible transform 1109.1. The linear combiner 1105.1 might store the resulting sum (i.e., the updated discrete-time MIMO-OFDM signal) in the memory 1102.1 for subsequent use by the linear combiner 1105.1 and/or PAPR measurement module 1106.1. The module 1106.1 might read a previous PAPR measurement or a threshold value from the memory 1102.1, compare its current PAPR measurement of the updated discrete-time MIMO-OFDM signal from the linear combiner 1105.1 to the read value, and possibly write a new PAPR value (and, optionally, the corresponding index u) to the memory 1102.1. Upon completion of or more of the iterations, the I/O 1101.1 may read the PAPR(s) and corresponding indices u from memory 1102.1 and transmit it to at least one other node for PAPR aggregation, analysis, and weight selection. The node disclosed in accordance with FIG. 11A may comprise a single processor, a multiprocessor, and/or a virtual machine configured to perform the processes associated with blocks 1101.1., 1103.1, 1104.1, 1105.1, 1106.1, 1107.1, 1108.1, and 1109.1. In some aspects, one or more of the aforementioned blocks 1101.1-1109.1 may be implemented on multiple processors, at least some of which may geographically distributed, such as in a Cloud configuration.

FIG. 11B is a block diagram of a central-processing node configured to be communicatively coupled to a plurality of nodes, such as nodes configured in accordance with the illustration and corresponding disclosure of FIG. 11A. The node depicted in FIG. 11B may be a client-side node, a relay node, or a server-side node. One or more of the functional blocks 1150-1158 might be implemented on at least one other node. In some aspects, the implementation of the node in FIG. 11B is actualized with a networked group of cooperating nodes. One or more of the functional blocks 1150-1158 might comprise virtual resources (e.g., virtual machines, virtual network devices, etc.). The functional blocks 1150-1158 might be implemented via Cloud computing and Cloud storage. The node depicted in FIG. 11B may comprise a single processor, a multiprocessor, and/or a virtual machine configured to perform the processes associated with blocks 1150-1158.

An I/O processor 1151 communicatively couples to a plurality of network nodes, such as the node depicted in FIG. 11A. The I/O processor 1151 can comprise wireless local area network (WLAN) radio transceiver circuitry (such as a baseband chipset or SDR, RF circuitry, one or more antennas, etc.) configured for employing a WLAN to communicate user plane and control plane information with and between the other network nodes. In such aspects, a network controller 1155 (which may reside on this node and/or on at least one other node) can perform WLAN control and management functions, such as (but not limited to) network access control, scheduling, resource management, routing, authentication, security, and the like. It should be appreciated that I/O 1151 and 1155 can be configured for an optical WLAN to communicatively couple the nodes.

The network controller 1155 may comprise Cooperative-MIMO functionality to select and coordinate nodes in a WLAN (e.g., a “local” group) to perform collaborative RAN functions. For example, the network controller 1155 may adapt a distributed antenna system by selecting/de-selecting nodes. Adaptation of the distributed antenna system might be responsive to CSI, MIMO condition number (and/or some other quality metric of spatial subchannels in a MIMO system), node mobility, node location, node availability, QoS measurements, RAN scheduling, data buffer size, etc. The network controller 1155 may select a set of nodes for the local group to include at least one node with little or no PAPR sensitivity. The network controller 1155 might be configured to select distributed processing resources to perform signal-processing operations disclosed herein, such as PAPR measurements, weight selection, MIMO processing, and the like.

The I/O 1151 may comprise an optical fiber network transceiver for communicatively coupling to the other node(s). Specifically the I/O 1151 can comprise any appropriate transceiver circuitry for communicatively coupling to the other node(s). The I/O 1151 can comprise a RAN transceiver. For example, the node depicted in FIG. 11B might be a RAN base transceiver station configured to cooperatively transmit and/or receive RAN signals in a distributed antenna configuration with at least one other RAN base transceiver station.

The I/O 1151 may comprise a backhaul transceiver configured for providing backhaul network connectivity. For example, a backhaul transceiver might connect to a packet core network, the Internet, a network fabric, or the like. In some aspects, the backhaul transceiver might allow the node to communicate with other nodes (such as the node depicted in FIG. 11A) and might connect the other nodes with remote processing resources (e.g., a data center). In some aspects, the backhaul transceiver provides a connection to remote processing resources (such as Cloud computing resources), which can perform any of the functions in the blocks 1152-1158, for example. In such aspects, the network controller 1155 might measure backhaul links for at least one of latency, QoS, and data bandwidth. The network controller 1155 might compare the measurement(s) to at least one threshold value, wherein each threshold value is a suitability threshold for at least one processing operation. For example, MIMO matrix calculation can tolerate a 20 ms latency in some situations, so the threshold value for MIMO matrix calculation might comprise 20 ms minus an estimated processing time minus an estimated delay due to a candidate server's input data backlog. The threshold values can be configured for each of a plurality of candidate servers (including virtual machines) to comprise some measure of the server's processing speed (including any bus delays) and data backlog (e.g., queue or buffer backlog). The network controller 1155 might select a candidate server if the latency measurement is less than the threshold value. The network controller 1155 might select a candidate server with the overall lowest latency. The network controller 1155 might update the threshold periodically and/or as server backlogs change. The network controller 1155 might continuously or periodically monitor the total latency measured from the time that data is sent to a server for processing and when the processed data is returned, and may adapt the server selection(s) to maintain sufficient performance as network and server loads change.

A data mapper 1152 maps RAN data to OFDM resource blocks and layers. This mapping may be communicated to the other nodes. The data mapper 1152 may further provide for data mapping to resource blocks employed in a WLAN to communicate with other nodes.

In one aspect, scheduler 1153 provides for scheduling OFDM resource blocks in the RAN, and this scheduling information may be used by the data mapper 1152 for mapping the data to OFDM resource blocks and layers in the RAN. In another aspect, such as in a relay or client device, the scheduler 1153 receives scheduling information from the BTS(s) in the RAN. Similarly, the scheduling information may be used by the data mapper 1152 for mapping the data to OFDM resource blocks and layers in the RAN. The scheduler 1153 might operate with the network controller 1155 to provide for scheduling resource blocks in the WLAN. The scheduler 1153 might operate with the MIMO S-Matrix Calculation processor 1154 to schedule processing operations to other network nodes.

A PAPR Aggregator 1156 is configured to collect PAPR measurements (and corresponding weight indices, u) from each of the nodes. PAPR Weighting processor 1157 is optionally provided for scaling each PAPR measurement with an antenna- (or node-) specific weight. Such weights might be stored in memory 1150 for each node and/or may be communicated to the central processing node by the other nodes. A weight-set selector 1158 selects the set of PAPR-reduction weights that provides the best overall PAPR performance, which may comprise a weighted PAPR performance measure. The index u corresponding to the best overall PAPR performance is then transmitted to the nodes, and the nodes employ the corresponding weight set W^((u)) on their data.

FIG. 12 is a flow diagram that shows a method and corresponding signaling in a distributed antenna system configured to operate in accordance with some aspects of the disclosure. A set of N_(t) base transceiver station antennas 1201.1-1201.N_(t) is shown communicatively coupled by an inter-base station network 1207 (e.g., a local area network) to a central processing node 1210. The base transceiver station antennas 1201.1-1201.N_(t) serve one or more UEs 1200 via a RAN (e.g., WWAN 1205). For simplicity, each base transceiver station antenna 1201.1-1201.N_(t) is shown as a network node. In other aspects, one or more base transceiver stations comprise multiple ones of the N_(t) antennas, and the description herein can be adapted accordingly. In another aspect, a set of UEs can take the place of one or more of the base transceiver station antennas 1201.1-1201.N_(t). At least one UE, at least one base transceiver station, at least one relay, and/or one or more remote computer processor may be employed as the central processor 1210.

The UE(s) 1200 and/or one or more base transceiver stations and/or relays may be served by the WWAN 1205. In another aspect, one or more relays are employed in place of one or more of the base transceiver station antennas 1201.1-1201.N_(t).

The base transceiver stations 1201.1-1201.N_(t) transmit reference signals 1211-1212 (such as pilot tones) 1251 which the UE(s) 1200 can measure to determine CSI. In some aspects, CSI 1213-1214 measured by the UE(s) is transmitted back 1252 to the base transceiver stations 1201.1-1201.N_(t). In other aspects, the base transceiver stations 1201.1-1201.N_(t) measure CSI from reference signals transmitted by the UE(s) 1200. The CSI 1215-1216 is transmitted 1252 via network 1207 to the central processor 1210, which calculates MIMO weights 1253 therefrom. The central processor 1210 transmits 1254 the MIMO weights c₁-c_(Nt) and data symbols 1217-1218 to the base transceiver stations 1201.1-1201.N_(t). Each base transceiver station 1201.1-1201.N_(t) employs a codebook for selecting candidate PAPR-reduction weights and calculates a PAPR 1255 for a discrete-time MIMO-OFDM signal generated from the data, spreading code, and each candidate weight set. Each weight set in the codebook can correspond to a unique codebook index, u. The base transceiver stations 1201.1-1201.N_(t) can be configured to employ partial update sparse weight matrices according to methods disclosed herein. Each base transceiver station 1201.1-1201.N_(t) transmits its PAPR measurements 1219-1220 to the central processor 1210, which collects 1256 the PAPR measurements for all the base transceiver stations 1201.1-1201.N_(t). The central processor 1210 might group the PAPR measurements by codebook index u and may scale the PAPR measurements by antenna-specific and/or node-specific weights. The central processor 1210 selects the best weight set 1257 based on the received PAPR measurements 1219-1220 and transmits 1258 a codebook index u corresponding to the best weight set to the base transceiver stations 1201.1-1201.N_(t). Each of the base transceiver stations 1201.1-1201.N_(t) generate 1259 RAN transmission signals from the data symbols, the MIMO weights, and the PAPR-reduction weights w^(u) corresponding to codebook index u.

In one aspect, the central processor 1210 determines which available nodes will function as a distributed antenna system, and it sends notification signals to selected ones of the nodes 1201.1-1201.N_(t). A network controller 1155 can perform polling, paging, and scheduling operations for the WLAN 1207 to ensure that nodes 1201.1-1201.N_(t) are available and are provided with sufficient WLAN communication resources. The central processor 1210 can provision the set of nodes 1201.1-1201.N_(t) such that at least one of the selected nodes 1201.1-1201.N_(t) comprises a non-PAPR-sensitive node, such as a node with line-power, to be included with a set of battery-powered nodes. The central processor 1210 can designate a low PAPR weight to the at least one non-PAPR-sensitive node, which consequently can enable the weight selection 1257 to effect improved overall PAPR performance among the nodes 1201.1-1201.N_(t).

The various blocks shown in the figures may be viewed as method steps, and/or as operations that result from operation of computer program code, and/or as a plurality of coupled logic circuit elements constructed to carry out the associated function(s).

In general, the various exemplary aspects may be implemented in hardware or special purpose circuits, software, logic or any combination thereof. For example, some aspects may be implemented in hardware, while other aspects may be implemented in firmware or software which may be executed by a controller, microprocessor or other computing device, although the invention is not limited thereto. While various aspects of the exemplary embodiments of this invention may be illustrated and described as block diagrams, flow charts, or using some other pictorial representation, it is well understood that these blocks, apparatus, systems, techniques or methods described herein may be implemented in, as non-limiting examples, hardware, software, firmware, special purpose circuits or logic, general purpose hardware or controller or other computing devices, or some combination thereof.

It should thus be appreciated that at least some aspects of the exemplary aspects of the invention may be practiced in various components such as integrated circuit chips and modules, and that the exemplary aspects of this invention may be realized in an apparatus that is embodied as an integrated circuit. The integrated circuit, or circuits, may comprise circuitry (as well as possibly firmware) for embodying at least one or more of a data processor or data processors, a digital signal processor or processors, baseband circuitry and radio frequency circuitry that are configurable so as to operate in accordance with the exemplary aspects of this invention.

Various modifications and adaptations to the foregoing exemplary aspects of this invention may become apparent to those skilled in the relevant arts in view of the foregoing description, when read in conjunction with the accompanying drawings. However, any and all modifications will still fall within the scope of the non-limiting and exemplary aspects of this invention. 

1. An apparatus configured to be communicatively coupled to an antenna array in a radio access network (RAN), the apparatus comprising: a baseband unit, comprising one or more processors communicatively coupled with at least one memory; and a fronthaul transceiver configured to communicatively couple the baseband unit to the antenna array via a fronthaul network; wherein the baseband unit is configured to: for a first set of antennas in the antenna array, generate a first Multiple Input Multiple Output (MIMO) matrix from channel state information (CSI); compute a sparse update matrix corresponding to an update to the first set of antennas; sum the sparse update matrix with the first MIMO matrix to produce a second MIMO matrix corresponding to a second set of antennas in the antenna array, the second set of antennas being different from the first set of antennas; make a determination of which of the first MIMO matrix and the second MIMO matrix results in a better CSI, MIMO condition number, peak-to-average-power ratio, or quality metric of spatial subchannels; and based on the determination, configure the first set of antennas or the second set of antennas to transmit or receive signals in the RAN.
 2. The apparatus of claim 1, wherein the baseband unit is a virtualized baseband unit.
 3. The apparatus of claim 1, wherein the baseband unit is configured to provision at least one virtual network.
 4. The apparatus of claim 1, wherein the baseband unit centralizes MIMO processing in a distributed antenna system.
 5. The apparatus of claim 1, wherein the baseband unit is a centralized cloud-based computing system.
 6. The apparatus of claim 1, wherein the antenna array comprises base transceiver stations, remote radio heads, small cells, or access points.
 7. The apparatus of claim 1, wherein the baseband unit, the fronthaul network, and the antenna array are configured as a massive-MIMO system, a multi-user MIMO system, a distributed antenna system.
 8. The apparatus of claim 1, wherein MIMO processing performed by the baseband unit comprises at least one of spatial diversity combining, singular value decomposition processing, spatial multiplexing, beamforming, and multi-user MIMO.
 9. A method for provisioning antennas of an antenna array in a radio access network (RAN), comprising: configuring a baseband unit to communicate with the antenna array via a fronthaul network; and configuring the baseband unit to: for a first set of antennas in the antenna array, generate a first Multiple Input Multiple Output (MIMO) matrix from channel state information (CSI); compute a sparse update matrix corresponding to an update to the first set of antennas; sum the sparse update matrix with the first MIMO matrix to produce a second MIMO matrix corresponding to a second set of antennas in the antenna array, the second set of antennas being different from the first set of antennas; make a determination of which of the first MIMO matrix and the second MIMO matrix results in a better CSI, MIMO condition number, peak-to-average-power ratio, or quality metric of spatial subchannels; and based on the determination, configure the first set of antennas or the second set of antennas to transmit or receive signals in the RAN.
 10. The method of claim 9, further comprising provisioning a virtualized baseband unit to operate as the baseband unit.
 11. The method of claim 9, further comprising configuring the baseband unit to provision at least one virtual network.
 12. The method of claim 9, further comprising configuring the baseband unit to centralize MIMO processing in a distributed antenna system.
 13. The method of claim 9, further comprising configuring the baseband unit to employ centralized cloud-based computing.
 14. The method of claim 9, wherein configuring the baseband unit to communicate with the antenna array comprises configuring the baseband unit to communicate with base transceiver stations, remote radio heads, small cells, or access points.
 15. The method of claim 9, further comprising configuring the baseband unit to perform at least one of spatial diversity combining, singular value decomposition processing, spatial multiplexing, beamforming, and multi-user MIMO.
 16. A non-transitory computer-readable medium storing instructions that, when executed by one or more processors, cause the one or more processors to: for a first set of antennas in an antenna array, generate a first Multiple Input Multiple Output (MIMO) matrix from channel state information (CSI); compute a sparse update matrix corresponding to an update to the first set of antennas; sum the sparse update matrix with the first MIMO matrix to produce a second MIMO matrix corresponding to a second set of antennas in the antenna array, the second set of antennas being different from the first set of antennas; make a determination of which of the first MIMO matrix and the second MIMO matrix results in a better CSI, MIMO condition number, peak-to-average-power ratio, or quality metric of spatial subchannels; and based on the determination, configure the first set of antennas or the second set of antennas to transmit or receive signals in a radio access network (RAN).
 17. The non-transitory computer-readable medium of claim 16, further comprising instructions that, when executed by one or more processors, cause the one or more processors to communicate with the antenna array via a fronthaul network.
 18. The non-transitory computer-readable medium of claim 16, further comprising instructions that, when executed by one or more processors, cause the one or more processors to centralize MIMO processing in a distributed antenna system.
 19. The non-transitory computer-readable medium of claim 16, further comprising instructions that, when executed by one or more processors, cause the one or more processors to employ centralized cloud-based computing.
 20. The non-transitory computer-readable medium of claim 16, further comprising instructions that, when executed by one or more processors, cause the one or more processors to perform at least one of spatial diversity combining, singular value decomposition processing, spatial multiplexing, beamforming, and multi-user MIMO. 